UI Kitten功能组件-道具未定义



我正在使用UI Kitten开发一个react原生移动应用程序。我对react native和UI kitchet还很陌生,所以我使用的只是普通的Javascript模板和Typescript模板。

我有一个功能组件屏幕,如下所示。这个屏幕工作正常。今天我开始实施REDUX。

const RequestScreen = ({ navigation }) => {
// code removed for brevity
}

在这个屏幕中,我使用useEffect钩子从我的API 中获取数据

useEffect(() => {
const unsubscribe = navigation.addListener("focus", () => {
getServices();
});
return () => {
unsubscribe;
};
}, [navigation]);
const getServices = async () => {
setLoading(true);
// helper function to call API  
await getAllServices().then((response) => {
if (response !== undefined) {
const services = response.service;
setServices(services);
setLoading(false);
}
});
// update redux state
props.getAllServices(services);

};
// code removed for brevity
const mapStateToProps = (state) => state;
const mapDispatchToProps = (dispatch) => ({
getServices: (services) =>
dispatch({
type: Types.GET_SERVICES,
payload: { services },
}),
});
const connectComponent = connect(mapStateToProps, mapDispatchToProps);
export default connectComponent(RequestScreen);

在这行代码上:

props.getAllServices(services);

我一直收到这个错误:

[未处理的承诺拒绝:TypeError:undefined不是对象(正在评估"props.getAllServices"(]node_modules\regenerator runtime\runtime.js:63:36在tryCatchinvoke 中的node_modules\regenerator runtime\runtime.js:293:29

每当我尝试使用";道具";在代码中。我遇到了错误如何在这个屏幕上获得道具

我试着更改屏幕,如下所示,但也不起作用!

const RequestScreen = ({ navigation, props }) => {
// code removed
}

我能够在更改屏幕组件后获得props对象,如下所示。

const RequestScreen = ({ navigation, ...props }) => {}

相关内容

  • 没有找到相关文章

最新更新