У меня есть бесконечный цикл, в то время как он делает то, что я хочу, извлекает мои обновленные данные без обновления, они очень медленные, так как их обработка снова и снова.
Я прочитал несколько вещей и попытался проверить, обновились ли реквизиты, но не могу понять это правильно...
Мой бесконечный цикл...
componentWillReceiveProps(nextProps) {
whenGapiReady(() => {
const { Id } = this.props;
this.props.fetchFileUploads(Id)
});
}
попытался изменить его на:
componentWillReceiveProps(nextProps){
if (nextProps.Id !== this.props.Id)
dispatch(this.props.fetchPlayerFileUploads(Id))
}
безуспешно, сейчас он ничего не делает. Я пропустил гапи, так как мог бы добавить это обратно.
Любая помощь в том, что это должно быть, чтобы остановить цикл! Также видел, что следует использовать componentDidUpdate, поскольку componentWillReceiveProps обесценивается, но в данный момент я возьму что угодно.
РЕДАКТИРОВАТЬ
componentWillReceiveProps(nextProps) {
whenGapiReady(() => {
const { Id } = this.props;
if (nextProps.Id === this.props.Id) {
this.props.fetchFileUploads(this.props.Id)
}
});
}
Вышеупомянутое по-прежнему зацикливается бесконечно...?
componentWillReceiveProps устарел, и вам следует избегать его использования... Подробнее здесь: reactjs.org/docs/react-component.html#updating


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно правильно написать Receive в рефакторинге кода:
componentWillReceiveProps(nextProps){
// ^^
if (nextProps.Id !== this.props.Id)
dispatch(this.props.fetchPlayerFileUploads(Id))
}
if (nextProps.Id === this.props.Id) {
this.props.fetchFileUploads(this.props.Id)
}
componentWillReceiveProps будет вызываться каждый раз, а nextProps.Id всегда будет равно this.props.Id и, следовательно, бесконечный цикл, вы можете вместо этого сохранить идентификатор для состояния и вместо этого улучшить сравнение
Вы неправильно написали имя метода во втором имени, это
Receive, а неRecieve