Как я должен обрабатывать перезагрузку родительских данных в дочернем маршруте при обновлении - PullRequest
0 голосов
/ 10 марта 2020

У меня есть маршрут Parent, который получает a_data и переводит его в свое состояние. Существуют маршруты Child1 и Child2, которые получают child_data и помещают его в свое состояние. Затем есть маршрут Grandchild1, который является дочерним по отношению к Child1, и он получает grandchild_data конечно ...

Если я перефразирую sh на маршруте Grandchild, как мне сохранить данные, собранные с

class Parent extends Component { 
  state = {
    data: { /*ParentData from api*/}
  }

  render() {
    return(
      <div>
        <Route exact path='/child1' render={() => (
          <ChildRoute1 parentData={this.state.data}/>
        )}/>

        <Route exact path='/child2' render={() => (
          <ChildRoute2 parentData={this.state.data}/>
        )}/>
      </div>  
    )
  }
}

class ChildRoute1 extends Component {
  state = {
    data: // child data from API
  }

  // Parent passes its data to ChildRoute1 props

  render() {
    return(
      <div>
        <Route exact path='/child1/gradnchild' render={() => (
          <Grandchild parentData={this.props.parentData} childData={this.state.data} />
        )}/>
      </div>
    )
  }

  const Grandchild = ({ parentData, childData }) => (

    <div>
      // Refreshes here... how do I refetch data from Parent and Child??
    </div>
  )

Я бы хотел избежать использования избыточности и вместо этого просто повторно получить данные из родительского маршрута и Детский маршрут ... Я просто не знаю, как это сделать! Реакт-роутер что-то для этой вещи есть? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...