Хранение полученных данных в родительском компоненте, какова стандартная практика React? - PullRequest
0 голосов
/ 02 сентября 2018

Какова общая практика хранения данных в родительском компоненте для передачи дочерним компонентам в React? Например:

export default class Main extends Component{
    async componentWillMount(){
         let data = await fetch(some data);
    }
}

Где должны храниться данные для данных, если я планирую передать их дочерним компонентам? Я не хочу переводить это в состояние, потому что я чувствую, что это используется только тогда, когда вам нужно сделать рендер. Также является ли приведенный выше правильный способ получения данных? Допустим, я только что вошел в систему и, когда я перенаправляю в этот класс Main, я хочу, чтобы он извлекал данные, а затем рендерил. Что такое стандартная практика?

1 Ответ

0 голосов
/ 02 сентября 2018

Вы должны хотеть привести его в состояние. Конечно, он будет перерисовываться при изменении состояния, благодаря этому ваш дочерний компонент обновляется при получении новых реквизитов. Кроме этого вы не можете обновить свой дочерний компонент. Это правильный способ сделать это.

Вы можете получить данные в componentDidMount, так как componentWillMount будет устаревшим в будущих версиях (v17). Итак, вы получаете данные там, чем устанавливаете свое состояние:

export default class Main extends Component{
    async componentDidMount(){
         let data = await fetch(some data);
         this.setState({data: some data});
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...