我有一个这样的 React 组件:
class Example extends Component {
constructor(props) {
super(props);
this.state = {
name: '',
address: '',
phone: ''
}
}
componentDidMount() {
//APIcall1 to get name and set the state
//i.e., axios.get().then(this.setState())
//APIcall2 to get address and set the state
//APIcall3 to get phone and set the state
}
}`
如您所见,我发出三个 API 获取请求以获取详细信息并在获取数据后设置状态三次。因此,我收到此错误:
警告:无法在现有状态转换期间更新(例如在
render
其他组件的构造函数中)。Render 方法应该是 props 和 state 的纯函数;构造函数的副作用是一种反模式,但可以移至componentWillMount
.
顺便说一下,我不会在渲染方法中引起状态变化。无论如何要解决这个问题?