我使用Redux的defaultValue
设置的道具设置文本字段的mapStateToProps
。
当文本字段发生更改(使用onChange={...}
检测到)时,我致电setState
来捕获用户输入。
问题是,如果文本字段保持不变,则永远不会调用setState
。如果用户提交表单,则defaultValue
不会声明该表单,因此将提交一个空字符串。
许多建议使用componentWillReceiveProps
,但是不建议使用此方法。
答案 0 :(得分:0)
通过针对类组件的getDerivedStateFromProps或通过针对功能组件的setState
回调调用useEffect
来将值提供给组件状态:
const [state, setState] = useState(props.propFromRedux)
useEffect(() => setState(props.propFromRedux), [props.propFromRedux])