UI Kitten 功能组件 - Props undefined
UI Kitten functional component - Props undefined
我正在使用 UI Kitten 开发一个反应本机移动应用程序。我对 React Native 和 UI kitten 还是很陌生,所以我只使用普通的 Javascript 模板 VS 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);
我不断收到此错误:
[Unhandled promise rejection: TypeError: undefined is not an object
(evaluating 'props.getAllServices')] at
node_modules\regenerator-runtime\runtime.js:63:36 in tryCatch at
node_modules\regenerator-runtime\runtime.js:293:29 in invoke
每当我尝试在此处的代码中使用“props”时。我运行陷入错误。 如何获得这个画面的道具?
我试过换屏,如下图,还是不行!
const RequestScreen = ({ navigation, props }) => {
// code removed
}
更改屏幕组件后,我能够获取道具对象,如下所示。
const RequestScreen = ({ navigation, ...props }) => {}
我正在使用 UI Kitten 开发一个反应本机移动应用程序。我对 React Native 和 UI kitten 还是很陌生,所以我只使用普通的 Javascript 模板 VS 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);
我不断收到此错误:
[Unhandled promise rejection: TypeError: undefined is not an object (evaluating 'props.getAllServices')] at node_modules\regenerator-runtime\runtime.js:63:36 in tryCatch at node_modules\regenerator-runtime\runtime.js:293:29 in invoke
每当我尝试在此处的代码中使用“props”时。我运行陷入错误。 如何获得这个画面的道具?
我试过换屏,如下图,还是不行!
const RequestScreen = ({ navigation, props }) => {
// code removed
}
更改屏幕组件后,我能够获取道具对象,如下所示。
const RequestScreen = ({ navigation, ...props }) => {}