【发布时间】:2021-07-13 13:36:06
【问题描述】:
为什么子组件在我使用 useState 时仅显示更新后的 prop 值?
例如:
- 当我使用任何随机值调用
setReRender()时,它可以工作。
父组件(演示代码):
import Child from './Child';
const Parent = () => {
const [arr, setArr] = useState([]);
const [reRender, setReRender] = useState(" ");
return (
<>
{arr.map(client => {
return(
<Child
setReRender={setReRender}
arr={arr}
firstName={client.firstName}
lastName={client.lastName}
/>
);
})}
</>
)
}
- 只有在我拨打
setReRender()之后,屏幕上才会显示更新。 - 例如 - 它适用于
setReRender(Math.random() * 2)。
useEffect 应该监听更新或更改等,但我不知道它会与 useState 一起使用。
这是让父组件重新渲染自身的正确方法吗?
编辑:
抱歉,如果我的问题不够清楚,这是我第一次来这里。
【问题讨论】:
-
请在您的子组件中显示代码
-
你指的是什么更新?如果您忽略 hack setRerender,您希望发生什么 prop 更改?
-
感谢您的 cmets,谢谢。你可以看到我对@utsavojha95 的评论,我在其中描述了我想要实现的目标。
标签: javascript reactjs react-hooks jsx