Reactjs 如何将redux表单的formValueSelector方法与自定义组件一起使用以显示另一个组件
我尝试使用redux表单创建一个表单,当我单击custom按钮时,它会显示另一个输入 我已经找到了一个简单组件(输入,复选框)的示例,它可以工作,但是当我想对自定义组件使用相同的逻辑时,我的选择器是未定义的Reactjs 如何将redux表单的formValueSelector方法与自定义组件一起使用以显示另一个组件,reactjs,redux,react-redux,redux-form,Reactjs,Redux,React Redux,Redux Form,我尝试使用redux表单创建一个表单,当我单击custom按钮时,它会显示另一个输入 我已经找到了一个简单组件(输入,复选框)的示例,它可以工作,但是当我想对自定义组件使用相同的逻辑时,我的选择器是未定义的 <Field name="addNumberPhone" id="addNumberPhone" component={ renderButtonAddNumberPhone } label='Add new label'
<Field
name="addNumberPhone"
id="addNumberPhone"
component={ renderButtonAddNumberPhone }
label='Add new label'
type="checkbox"
/>
{ addNumberPhoneValue &&
<div>
display something
</div>
}
最后,在详细阅读了redux表单的文档之后,我已经用tag和解决了我的问题,您希望在
addNumberPhone
中有什么价值renderButtonAddNumberPhone
组件只是一个按钮,它没有onChange
事件和任何值..在renderButtonAddNumberPhone
内的onClick函数中,它应该做什么?如果您获取输入值并希望更新redux表单中的值,则需要使用input.onChange(newValue)
,因为通过更仔细地阅读我在fields数组中找到的响应我需要的redux表单文档。我添加了这些链接,这样与我相同的人就有问题了。不需要代码,因为文档的解释相当清楚。
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>
)
const selector = formValueSelector('initializeFromState');
SampleForm = connect(state => {
const addNumberPhoneValue = selector(state , 'addNumberPhone');
return {
addNumberPhoneValue ,
}
})(SampleForm);