вот мой 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..
соответственно увеличивается. Но он не вызывает constructor
из Inputs
, кроме первого (загрузки страницы) времени.