在我卸载应用程序之前,本机iOS是否保存获取的数据?
我试图找出是什么导致了这个问题。当我打开应用程序时,我会进入第一个屏幕。屏幕包含从json数据获取的数据。然后,当我切换到另一个屏幕并返回到第一个屏幕时,相同的数据仍然存在。我会解释为什么会有所不同我正在使用随机查询(RAND())从mysql数据库中获取数据。每次返回第一个屏幕时,数据都应该不同 当我卸载并重新安装应用程序时,我会看到新获取的数据,但如果我重复这些步骤,问题仍然会继续 这适用于Android,但不适用于iOS:在我卸载应用程序之前,本机iOS是否保存获取的数据?,ios,xcode,reactjs,react-native,Ios,Xcode,Reactjs,React Native,我试图找出是什么导致了这个问题。当我打开应用程序时,我会进入第一个屏幕。屏幕包含从json数据获取的数据。然后,当我切换到另一个屏幕并返回到第一个屏幕时,相同的数据仍然存在。我会解释为什么会有所不同我正在使用随机查询(RAND())从mysql数据库中获取数据。每次返回第一个屏幕时,数据都应该不同 当我卸载并重新安装应用程序时,我会看到新获取的数据,但如果我重复这些步骤,问题仍然会继续 这适用于Android,但不适用于iOS: componentDidUpdate(prevProps, pre
componentDidUpdate(prevProps, prevState) {
if (!prevState.user_image) {
fetch('https://www.exmaple.com/React/user.php')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
user_image: responseJson
}, function() {
const {userLikes, user_image} = this.state;
this.setState({
combinedArray: userLikes.map(likes => Object.assign(likes, user_image.find(images => images.id == likes.id)))
});
});
})
.catch((error) => {
//console.error(error);
});
}
}
我不知道Xcode是否有某种获取数据缓存。基本上(在web开发术语中)正在发生的是CSS缓存,但是使用的是获取的数据。如果这有道理的话
另外,我正在使用
react原生react导航
Tab导航…也许这就是问题所在,它正在保存获取的数据?事实证明我是对的!这是因为提取正在缓存。我不得不在获取中插入任何缓存头。可能是第二次!prevState.user_图像是否为空/已定义/假?检查第一个条件的输出,看看fetch调用是否被调用。您还可以查看componentDidUpdate是否再次被调用。您可能希望将此代码移动到componentDidMount并删除第一条条件语句。