如何将 redux-form 的方法 formValueSelector 与自定义组件一起使用来显示另一个组件

How to use the method formValueSelector of redux-form with a custom component to display an another component

我尝试使用 redux-form 创建一个表单,当我点击自定义按钮时显示另一个输入。

我发现带有简单组件(输入、复选框)的示例可以正常工作,但是当我想对自定义组件使用相同的逻辑时,我的选择器未定义。

   <Field
       name="addNumberPhone"
       id="addNumberPhone"
       component={ renderButtonAddNumberPhone }
       label='Add new label'
       type="checkbox"
   />
   { addNumberPhoneValue &&
       <div>
          display something
       </div>
   }

我的自定义组件渲染:

const renderButtonAddNumberPhone = ({ input , label , name , meta: { touched , error } }) => (
   <button id='button-add-number-phone' className='button-add-number-phone' onClick={ (e) => {
      e.preventDefault();
   } }>
      <p><Icon name="plus" size={ 10 } fill="blue"/> { label }
      </p>
   </button>
)

以及我对方法的配置 formValueSelector:

const selector = formValueSelector('initializeFromState');
SampleForm = connect(state => {
    const addNumberPhoneValue = selector(state , 'addNumberPhone');    
    return {
        addNumberPhoneValue ,
    }
})(SampleForm);

最后,在仔细阅读 redux-form 的文档后,我使用 FieldArrays tag and formValueSelector()

解决了我的问题