【发布时间】:2020-08-17 05:14:47
【问题描述】:
我在互联网上发现了这个“React 组件在其状态或道具发生变化时自动重新渲染”,但是如果在道具中我传递了与状态不同的东西,它不会引发渲染,即使道具随着时间发生了变化。
在这段代码中,我在不使用状态的情况下传递了一个道具
父母
import React from "react";
import Child from "./child";
export default function Parent() {
let count = 0;
setInterval(() => {
count++;
console.log(count);
}, 1000);
return <Child count={count} />;
}
孩子
import React from "react";
export default function Child(props) {
console.log("render from child"); //console.log once
return <h1>{props.count}</h1>;
}
感谢你帮我解决了我脑海中的这个混乱
【问题讨论】:
-
如果你改变了传递给组件的道具,组件将重新渲染。为什么你认为它不会重新渲染?
-
很难理解你在问什么。考虑改进您的问题。
-
在您的示例中:与状态相比,您使用了普通变量,这就是您只记录一次的原因。普通变量不会强制重新渲染。
标签: reactjs state render react-props