Javascript 使用react componentDidMount()方法获取多个路由的api数据的标准模式是什么?

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请求获取并设置状态。问题是,当我刷新子组件时,我会丢失状态 从我的研究中,我发现我有两种选择,或者两者的组合(不包括散列

我正在尝试拼凑应该如何使用componentDidMount()方法

  • 我正在使用react和react路由器
  • 后端是firebase云功能和firestore
我有三条路由,包括父组件(/)-then/someLocation和/someItem。此外,还可以转到say/someLocation/someItem。最初,我使用componentDidMount()中的get请求获取并设置状态。问题是,当我刷新子组件时,我会丢失状态

从我的研究中,我发现我有两种选择,或者两者的组合(不包括散列路由器)

  • 将数据存储在本地存储器中(对于获取单个记录来说可能是正常的)

  • 每次刷新页面时发出get请求,这对父组件来说是有意义的

  • 在这些情况下,react中路由最常见的设计模式是什么?父级的componentDidMount方法中应该包含哪些请求

    谢谢!非常感谢您的指导、提示、技巧或指导

    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太棒了,谢谢!