Добрый вечер, я недавно начал заниматься изучением
ReactJS и возникли вопросы...
Когда я открываю страницу, я получаю данные через
componentDidMount, но когда перехожу по ссылке(роутера) на другую страницу этого же компонента, то тогда данные обновляются с помощью
componentDidUpdate... так вот вопрос... Когда я перешел на страницу, то
componentDidUpdate постоянно запрашивает данные... как мне запросить данные только 1 раз? Единственное что я пока что придумал это проверять
URL, но может есть более элегантное решение?
constructor(props) {
super(props);
this.state = {
module: [],
materials: []
};
}
getData() {
var name = this.props.name;
axios.post('/api/modules/'+ name, {
'jsonrpc': '2.0'
})
.then(response => {
this.setState({ module: response.data.result, materials: response.data.result.materials });
})
.catch(function (error) {
});
}
componentDidMount() {
this.getData();
}
componentDidUpdate(prevProps) {
if (this.props.match.params.name !== prevProps.match.params.name) {
this.getData();
}
}