1 回答
TA贡献1805条经验 获得超10个赞
你可以尝试这样的事情:
class PersonManager extends Component {
constructor(props) {
super(props);
this.state = {entities: []};
}
componentDidMount() {
const url = 'http://localhost:8080/bbstats/ws/person/findall';
fetch(url)
.then((response) => response.json())
.then((data) => {
this.setState({entities: data});
})
.catch(console.log);
}
render() {
return (
<div style={{maxWidth: 1440, marginLeft: 'auto', marginRight: 'auto'}}>
<DataTable value={this.state.entities}>
<Column field="id" header="ID" />
<Column field="lastName" header="Last Name" />
<Column field="firstName" header="First Name" />
<Column field="incognito" header="Incognito" />
</DataTable>
</div>
);
}
}
export default PersonManager;
所以我们可以entities在组件的状态中保存PersonManager一个初始值。由于构造函数在组件安装和渲染之前运行,我们可以安全地访问this.state.entities内部render。
在基于类的组件中,我们可以通过调用重新渲染组件来更新部分状态(entities在本例中) 。this.setState这样组件就可以正确反映组件的当前状态。
添加回答
举报