【发布时间】:2020-08-26 08:40:12
【问题描述】:
如果我从某个方法返回一个组件的 jsx 并在另一个组件的渲染中调用该方法,那么每次渲染都会创建一个新对象吗?
class MyComponent extends React.Component {
render = () =>(<h3>My Component</h3>)
}
function getEl(){ return (<MyComponent />) }
class Comp extends React.Component{
componentDidMount = () =>{
let ct = 100;
const update = () => {
if(ct-- < 0) return;
this.setState({}, update);
}
update();
}
render(){
return (<div> {getEl()} </div>)
}
}
如果 Comp 渲染 100 次,是否创建了 100 次 MyComponent 的新实例?如果传递给 MyComponent 的道具发生变化怎么办。然后? 寻找一些很好的深入解释为什么会发生这种情况
【问题讨论】:
-
@T.J.Crowder 哦,是的。确实如此。让我编辑一下
标签: javascript reactjs