我遇到了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: [{}],
};
有没有建议?