我尝试使用setState()在数组psuhed数字后更新。以下代码有效,网页上显示83。
const children = [8];
class PersonList extends React.Component {
state = {
trigger: 0
}
componentDidMount() {
children.push(3);
this.setState({ trigger:1 });
}
render() {
return (
<div>
{children}
<h1 className="title">Projects</h1>
</div>
);
}
}
ReactDOM.render(
<PersonList/ >,
document.getElementById('root')
);
但是当我在{children}旁边添加一个组件时,setState()不会更新数组的内容。它只显示8。
*:focus {
outline: none;
}
我无法想出造成这种情况的原因。 :(
答案 0 :(得分:0)
您正在尝试在jsx中调用数组。
您需要遍历数组并渲染每个组件
而不是
{ children }
做
{
children.map(child => <div>{child}</div>)
}