rc-form-hooks
rc-form-hooks copied to clipboard
onValuesChange里如果要访问外层 state,拿不到最新的值
const [abnormalTypeOpts, setAbnormalTypeOpts] = useState([])
const { getFieldDecorator, validateFields, errors, values, setFieldsValue } = useForm({
onValuesChange: (values) => {
if (values.orderType !== undefined) {
setFieldsValue({
type: abnormalTypeOpts[0] // abnormalTypeOpts拿到的一直是[]
})
}
}
})
useEffect(() => {
setAbnormalTypeOpts([{name: '测试'}])
});
感觉 useForm 需要第二个参数 deps
可以把onValuesChange里的逻辑放在useEffect里,然后依赖values
这种方式就没办法知道是哪个字段change了吧,我现在用ref缓存了 abnormalTypeOpts 值,倒是可以拿到。