const [MIV, setMIV] = useState(MIValues);
MI值<-这个数据是从道具接收的,如果这个数据在其他组件中更新并传递到这里,MIV会有更新的值吗?
useState
是初始状态。它就像类中的构造函数。useState
不用于在重新渲染时更新状态。
正如React文档所说:
useEffect是否在每次渲染后运行?对默认情况下,它同时运行在第一次渲染之后以及每次更新之后。(我们稍后再谈关于如何自定义。(而不是从"挂载"one_answers"更新",你可能会发现更容易想到效果发生在"渲染后"。React保证DOM在运行效果时更新。
如果使用useEffect
:,组件将更新
const [MIV, setMIV] = useState(MIValues);
useEffect(() => {
setUser(props.user);
}, [MIValues])
您应该使用useEffect
。
const [MIV, setMIV] = useState();
useEffect(() => {
setMIV(MIValues);
}, [MIValues])
是的,如果在父组件中更新了props(MiValues(,组件将通过react自动重新加载。如果只想在(MiValues(更新时有条件地执行某些操作,可以使用useEffect挂钩。