【发布时间】:2022-01-01 16:54:34
【问题描述】:
我在使用 expo 的 React Native 应用程序中从商店分派访问项目时遇到困难。
我想在用户访问组件时调度我的数据列表功能,然后列出它。
const Flows = ({navigation}) => {
const dispatch = useDispatch();
const {invoices, loading, error} = useSelector(state => state.invoiceList);
useEffect(() => {
dispatch(listInvoices());
console.log(`list invoices dispatched`);
}, []);
console.log(`invoices ` + invoices || undefined);
console.log(`loading ` + loading);
console.log(`error ` + error);
然后是渲染。
我打开这个屏幕时得到的日志是
invoices
loading undefined
error undefined
list invoices dispatched
invoices undefined
loading true
error undefined
invoices [object Object],[object Object],[object Object],[object Object],[object Object]
loading false
error undefined
当我尝试访问发票内的对象时出现问题,我收到 undefined is not an object (evaluating invoices.data) 错误。
我认为,因为在获取发票数据并在商店中之前,该组件会尝试访问在商店更新之前未定义的 invoices.data。但是,尽管最终存储已更新,但这会引发错误。
你是怎么解决这个问题的?
【问题讨论】:
标签: reactjs react-native redux react-redux