gpt4 book ai didi

javascript - React 不会在 props 更新时重新渲染

转载 作者:行者123 更新时间:2023-12-03 01:11:30 26 4
gpt4 key购买 nike

这是我的render方法FormEl组件。

return <div>
<button type="button" onClick={this.clicked}>click to add 1 input</button>
<Inputs count={this.state.childcount}/>
</div>

clicked我更新的方法childcount通过 1 使用 setState

这是Inputs

class Inputs extends React.Component {
constructor(props) {
super(props);
console.log("Input constructor is running.");
this.state = {value: '', p: "p", count: props.count};
}

render() {
let c = [];
for (let i = 0; i < this.state.count; i++) {
c.push(
<div key={"id-" + (i * 10)}>
<input type="text" defaultValue={this.state.value}/>
<p> {this.state.p}</p>
</div>);
}
return <div>
{c}
</div>;
}
}

但是,当我更新childcount时在clicked ,我可以看到FormEl重新渲染,count<Inputs..相应增加。但它不会调用constructorInputs除了第一次(页面加载)时间之外。

最佳答案

直接使用this.props.count代替。

for (let i = 0; i < this.props.count; i++) {

关于javascript - React 不会在 props 更新时重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52200246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com