接下来添加组件后React数组不呈现?

时间:2018-03-22 15:35:35

标签: reactjs

我尝试使用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;
}

我无法想出造成这种情况的原因。 :(

1 个答案:

答案 0 :(得分:0)

您正在尝试在jsx中调用数组。

您需要遍历数组并渲染每个组件

而不是

{ children }

{
    children.map(child => <div>{child}</div>)
}