React Native-useContext,useReducer和深度嵌套的对象

时间:2020-07-15 10:25:49

标签: reactjs firebase react-native expo

我遇到了React Native和我无法弄清楚的深层嵌套对象的问题。

我正在上下文API的帮助下从Firebase提取数据。我得到了两个文件,分别称为eReducer和eContext。在我的功能组件中,我试图访问数据。控制台日志记录不是问题,但是当我尝试清除变量时。下面的代码示例。

关于如何解决这个问题的任何想法,或者解释为什么它会像这样以及我在做什么错。

收藏夹(并非全部代码):

import { EVENTCTX } from "../the url";
const FavoriteContext = useContext(FAVCONTEXT);
const singleFavoriteState = FavoriteContext.favoriteState.singleFavorite.venue.address;

return (
<View style={styles.container}>

      {console.log(FavoriteContext.favoriteState.singleFavorite.venue.address)}
    
</View>

); }

如果我删除了singleFavoriteState变量,而只是通过控制台对其进行了记录,那么就没有问题。如果我将其包括在内,则会显示红色屏幕,并显示“ [未处理的承诺拒绝:TypeError:未定义不是对象”

如果我将变量缩短一点,就像这样:
const singleFavoriteState = FavoriteContext.favoriteState.singleFavorite.venue 那也行得通

我的上下文文件:

const initialState = {    
loading: false,
errors: "",  
singleFavorite: [{}],
};

有没有建议?

0 个答案:

没有答案