React:当道具改变时重新渲染组件

时间:2021-04-19 10:49:24

标签: javascript reactjs react-hooks jsx

为什么子组件在我使用 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 一起使用。

这是让父组件重新渲染自己的正确方法吗?

编辑:

如果我的问题不够清楚,我很抱歉,这是我第一次来这里。

1 个答案:

答案 0 :(得分:0)

如果状态发生变化,组件会自动重新渲染,因此当您使用随机值调用它时,您正在更改组件的状态并且正在重新渲染
你能描述一下你的程序想要做什么吗?