У меня есть страница элемента, на которой я визуализирую плоский список комментариев, относящихся к элементу, проблема, которая у меня возникает, когда я меняю элемент, вызов api с новыми реквизитами (itemId) не выполняется и комментарии из отображается предыдущий элемент.
Я уверен, что новый itemId передается на экран, поскольку все остальное (имя, изображение, описание ...)
Способ достижения страница элемента проходит через страницу магазина, отображающую список изображений элементов (где я передаю все реквизиты, необходимые для отображения элемента на странице элемента)
Я замечаю, что когда я нахожусь на странице элемента и затем нажмите обратно на go, чтобы вернуться на страницу магазина, а затем нажмите на другой элемент, на странице элемента отображаются данные предыдущего элемента в течение полсекунды перед обновлением, но список просто никогда не обновляется, он продолжает звонить со старым идентификатором элемента . Я использую fetch для получения списка, я также пробовал с ax ios, результат тот же.
componentDidMount() {
this._isMounted = true;
const { navigation } = this.props;
this.focusListener = navigation.addListener('didFocus', async () => {
await fetch("https://api..." + navigation.getParam('itemId'))
.then(response => response.json())
.then((responseJson) => {
this.setState({
loading: false,
dataSource: responseJson
})
console.log("response Comments:" + JSON.stringify(responseJson));
console.log('the state of item id -->', this.props.navigation.getParam('itemId'))
});
}
}
когда я console.log, я получаю правильный itemId, но похоже, что вызов происходит прежде, чем он получит новые реквизиты ...
Я относительно новичок в React Native и кодировании в целом, поэтому, пожалуйста, дайте мне знать, если мне нужно быть более понятным.
Спасибо за вашу помощь !