使用此代码,我能够成功地使用setState一个简单的对象 - 当我点击"Joey"时,名称变为"Igor".
class Card extends React.Component {
myFunc = () => {this.props.change('Igor')};
render() {
return (
<p onClick={this.myFunc}>{this.props.name}</p>
)
}
}
class Parent extends React.Component {
constructor(props) {
super(props)
this.state = { name: "Joey" }
}
toggle = (newname) => {
this.setState((prevState, props) => ({
name: newname
}));
}
render() {
return (
<Card change={this.toggle} name={this.state.name} />
);
}
}
Run Code Online (Sandbox Code Playgroud)
但是这个代码有多个嵌套在数组中的对象,setState要么无法将每个名称更改为"Igor",要么必须以某种方式进行修改.
class Card extends React.Component {
myFunc = () => {this.props.change('Igor')}; …Run Code Online (Sandbox Code Playgroud)