我有App.js
,里面有一个组件。将其命名为Example
。我想用Example
设置App.state
的道具。例如,Example
包含道具:name
,id
。在App
我想要从服务器获取我想要的数据,并将其设置为App
的状态,然后将它们分配给Example
' s道具,在应用程序渲染之前。这里的问题是我读到componentWillMount()
,但React文档说这不是最好的方法。那么,最好的方法是什么?
答案 0 :(得分:2)
一般方法是在response
内存储ajax App
,当响应保存到状态时,使用从响应中获取的数据呈现Example
组件
class App extends React.Component
state = { response: null }
componentDidMount() {
runYouFetchHere
.then((response) => this.setState({ response }))
}
render() {
const { response } = this.state
if (response === null) { return null }
return (
<Example name={response.name} id={response.id} />
)
}
}
答案 1 :(得分:0)
当react组件中有更新时,将调用以下任何更新方法。
https://reactjs.org/docs/react-component.html#updating
尝试在
中设置状态componentWillRecieveProps(){
this.setState({ })
}