【发布时间】:2021-06-26 10:33:49
【问题描述】:
所以我想将一个状态传递给屏幕。当我控制台记录它时,它非常好,但是当我更新状态时它不会动态更新。
我的主屏幕
useEffect(() => {
// SNAPSHOT USER DATA
db.collection("users").doc(currentUserUID)
.onSnapshot((doc) => {
setUserData(doc.data());
});
}, [])
比我传递给它
<FlatList
horizontal
style={{ marginBottom: 40 }}
data={trackscreenData.ModulePbs1}
showsHorizontalScrollIndicator={false}
keyExtractor={(item) => item.TrackId}
renderItem={({ item }) => {
return (
<TouchableOpacity onPress={() => {
navigation.navigate('Module', {
TrackId: item.TrackId,
userData: userData,
});
}}>
然后在我的“模块”屏幕上导入状态
export const ModuleScreen = ({navigation, route}) => {
const userData = route.params.userData;
} console.log(userData)
return()
所以当我更新我的状态时,它会在我的主屏幕上更新,而不是在我的模块屏幕上。
我做错了什么?
【问题讨论】:
标签: javascript firebase react-native