2017-04-04 15 views
6

मैं मूल्य के आधार पर घटकों को छिपाने और दिखाने के लिए रेडक्स का उपयोग कर रहा हूं।रेडक्स फॉर्म फ़ील्ड घटक और सत्यापन

Redux प्रपत्र प्रलेखन का उल्लेख है निम्नलिखित:

कई क्षेत्रों से कनेक्ट, किफ़ायत से इस्तेमाल किया जाना चाहिए के रूप में यह क्षेत्रों इसे बदलने के लिए जुड़ा हुआ है की किसी भी हर बार फिर से प्रस्तुत करने के लिए पूरे घटक की आवश्यकता होगी। यह एक प्रदर्शन बाधा हो सकती है। जब तक आपको पूरी तरह से आवश्यकता न हो, आपको अपने क्षेत्रों से व्यक्तिगत रूप से कनेक्ट होना चाहिए।

मुझे अस्पष्ट है कि रेडियो बटन के आधार पर फ़ील्ड छिपाने और दिखाने के लिए मेरा समाधान Fields का उपयोग करने के लिए पर्याप्त है जो चेतावनी देने के लिए चेतावनी दे रहा है।

क्या आप कृपया स्पष्ट कर सकते हैं कि मेरा घटक Fields का उपयोग करने के लिए पर्याप्त कारण है। यदि नहीं, तो लागू करने का एक वैकल्पिक तरीका क्या है?

इसके अलावा, fields मान्यताओं को लागू करता है?

<div> 
    <form> 
     <Fields 
     component={RadioButtonGroupField} 
     names={['radioButtonGroup', 'nameTextField', 'nickNameTextField']} 
     /> 
    </ form> 
</div> 

function RadioButtonGroupField(fields) { 
    return(
     <div> 
     <RadioButtonGroupComponent 
      {...fields.radioButtonGroup.input} 
      {...fields.radioButtonGroup.meta} 
     /> 
     { 
      (fields.radioButtonGroup.input.value === 'name' || 
      fields.radioButtonGroup.input.value === 'both') && 
      <NameTextFieldComponent 
      {...fields.radioButtonGroup.input} 
      {...fields.radioButtonGroup.meta} 
      /> 
     } 
     { 
      (fields.radioButtonGroup.input.value === 'nickname' || 
      fields.radioButtonGroup.input.value === 'both') && 
      <NicknameTextFieldComponent 
      {...fields.radioButtonGroup.input} 
      {...fields.radioButtonGroup.meta} 
      /> 
     } 
     </div> 
    ); 
    } 

उत्तर

1

एक और तरीका है आप ऐसा कर सकते हैं, अपने mapStateToProps और फिर सशर्त प्रतिपादन कुछ घटकों में redux की दुकान से विशिष्ट मूल्य redux फार्म चयनकर्ताओं का उपयोग कर (http://redux-form.com/6.0.5/docs/api/Selectors.md/) का चयन नहीं है।

हालांकि, मुझे लगता है कि Fields बिल्कुल इस परिस्थिति में आपको क्या उपयोग करना चाहिए। मुझे लगता है कि चेतावनी लोगों को चेतावनी देने के लिए है कि वे अपने पूरे फॉर्म को फ़ील्ड में न रखें और उन 3 फ़ील्ड को फिर से प्रस्तुत करना कोई बड़ा सौदा न हो।

विचार प्रक्रिया है कि पहली जगह में Fields की रचना हुई शायद सबसे अच्छा तरीका है इस पर एक संभाल पाने के लिए है: https://github.com/erikras/redux-form/issues/841

+0

मैं फ़ील्ड का उपयोग करके साथ सत्यापन को लागू करने के बारे में कैसे जाना होगा? – eNddy

+0

यह एक अच्छा सवाल @ENddy है! मुझे यकीन नहीं है कि 'फ़ील्ड्स 'को सत्यापित करने का क्या अर्थ होगा। मुझे कोई मान्य तर्क नहीं है क्योंकि मुझे यकीन है कि आपने देखा है। स्पष्ट तरीका है कि सिंक वैलिडेशन का उपयोग करना होगा: http://redux-form.com/6.6.1/examples/syncValidation/ – dpwrussell

+0

मुझे लगता है कि अगर कुछ ऐसा हो सकता है: '<फ़ील्ड घटक = {रेडियोबटन समूह समूह} नाम = {['रेडियोबटन समूह', 'nameTextField', 'nickNameTextField']} सत्यापन = {[रेडियोबटन समूह सत्यापन, नाम टेक्स्टक्विल्ड सत्यापन, निकनाम टेक्स्टफाल्ड]} /> '। @dpwrussell क्या आपको लगता है कि ऐसा कुछ संभव होगा? मुझे लगता है कि ग्लोबल एसिंक सत्यापन को प्रदूषित नहीं करना अच्छा लगता है? – eNddy

संबंधित मुद्दे