Javascript 使用react componentDidMount()方法获取多个路由的api数据的标准模式是什么?
我正在尝试拼凑应该如何使用componentDidMount()方法Javascript 使用react componentDidMount()方法获取多个路由的api数据的标准模式是什么?,javascript,node.js,reactjs,firebase,google-cloud-firestore,Javascript,Node.js,Reactjs,Firebase,Google Cloud Firestore,我正在尝试拼凑应该如何使用componentDidMount()方法 我正在使用react和react路由器 后端是firebase云功能和firestore 我有三条路由,包括父组件(/)-then/someLocation和/someItem。此外,还可以转到say/someLocation/someItem。最初,我使用componentDidMount()中的get请求获取并设置状态。问题是,当我刷新子组件时,我会丢失状态 从我的研究中,我发现我有两种选择,或者两者的组合(不包括散列
- 我正在使用react和react路由器
- 后端是firebase云功能和firestore
render() {
const { jobs } = this.state
const getJobPost = (props) => {
let slug = props.match.params.slug
let job = jobs.find((job) => job.slug === slug)
return <JobPost {...props} job={job} isLoading={this.state.isLoading} />
}
return (
<Switch>
<Route
exact
path="/"
render={(routeProps) => (
<MainJobBoard
countryFilter={this.countryFilter}
handleFilter={this.handleFilter}
filterValue={this.state.filterValue}
isLoading={this.state.isLoading}
jobs={jobs}
{...routeProps}
/>
)}
/>
<Route exact path="/:location/:slug" render={getJobPost} />
</Switch>
)
}
render(){
const{jobs}=this.state
const getJobPost=(道具)=>{
设slug=props.match.params.slug
让job=jobs.find((job)=>job.slug==slug)
返回
}
返回(
(
)}
/>
)
}
当您调用componentDidMount时,您只需将数据保存在此组件的状态?是的,我已将状态保存在应用程序组件(我调用componentDidMount的位置)中。您能否使用将状态发送给子组件的代码编辑您的问题?是!我刚刚添加了渲染方法。如果有帮助,请告诉我。作业只是一系列作业postings@wscourge太棒了,谢谢!