【问题标题】:initialValues in react-hook compoenent Formreact-hook 组件形式中的 initialValues
【发布时间】:2020-09-28 14:30:03
【问题描述】:

我有以下示例代码Form,并提供了初始数据。 如果我重构为 Class component 预先填充的表单,但是当我使用钩子时,什么都没有出现。

const ActivitiesForm = ({ goBackButton }) => {
    const { items, initialValues } = useSelector((state) => {
        return {
            initialValues: state.data,
            items: state.items,
        }
    })

    const [activityName, setActivityName] = useState(

        initialValues ? initialValues.activityDescription : ''
    )
    const handleInputName = (e) => setActivityName(e.target.value)



    return (
        <div>

            <Form
                onSubmit={handleSubmit(handleSubmit)}
                className='ui form'
                >

                    <Field
                        component={ConstructField('input')}
                        onChange={handleInputName}
                        label='Activity Name'
                        name='activityName'
                        placeholder='Activity Name'
                    />


                            <Button
                                negative
                                onClick={() => handleSubmit_('del')}
                            >
                                Delete the Youth
                            </Button>

            </Form>
        </div>
    )
}


const activityform = reduxForm({
    form: 'activityform',
    enableReinitialize: true,
})(ActivitiesForm)

export default activityform

【问题讨论】:

    标签: reactjs react-redux react-hooks redux-form


    【解决方案1】:

    尝试像这样使用useEffect 钩子:

    useEffect(() => {
      if(initialValues){
         setActivityName(initialValues.activityDescription);
      }
    }, [initialValues)
    

    【讨论】:

    • 这行不通,activityName 变量与窗体上显示的内容无关
    猜你喜欢
    • 2021-04-03
    • 1970-01-01
    • 2016-11-10
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多