javascript - 从 react-redux 中的容器调用操作时出错
问题描述
我正在将 redux 与我的 react-native 应用程序集成。我已将状态和操作管理移至容器,并使用“连接”将容器与组件集成。
应用程序.js
const AppNavigator = createSwitchNavigator({
SplashScreen: SplashScreen,
render() {
return(
<Provider store={store}>
<AppNavigator/>
</Provider>
)
}
});
const store = createStore(reducer);
export default createAppContainer(AppNavigator);
登录.js
import React from "react";
import {View} from "react-native";
import authenticateUser from "../../../services/api/authenticateUser";
const SignIn = (props) => {
const authenticate = async () => {
try {
return await authenticateUser.get('/abc', {
params: {
code,
}
});
}
catch (e) {
}
}
const validateUserCredentials = (isValid) => {
authenticate().then(response => {
const responseData = response.data;
props.updateEventRules(responseData);
});
}
}
return (
<View></View>
);
export default SignIn;
登录Container.js
import {eventRulesUpdated} from '../../../actions/actions';
import {connect} from 'react-redux';
import SignIn from './signin-screen';
const mapStateToProps = (state) => ({});
const mapDispatchToProps = dispatch => {
return {
updateEventRules: rules => {
dispatch(eventRulesUpdated(rules))
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(SignIn);
运行应用程序时出现错误 - props.updateEventRules() 不是函数。
谁能帮助我我做错了什么?
解决方案
你应该像这样在 Signin.js 中有连接函数
import React from "react";
import {View} from "react-native";
import authenticateUser from "../../../services/api/authenticateUser";
const SignIn = (props) => {
const authenticate = async () => {
try {
return await authenticateUser.get('/abc', {
params: {
code,
}
});
}
catch (e) {
}
}
const validateUserCredentials = (isValid) => {
authenticate().then(response => {
const responseData = response.data;
props.updateEventRules(responseData);
});
}
}
return (
<View></View>
);
const mapStateToProps = (state) => ({});
const mapDispatchToProps = dispatch => {
return {
updateEventRules: rules => {
dispatch(eventRulesUpdated(rules))
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(SignIn);
推荐阅读
- r - Tidyr's "nest" function in R doesn't recognize a variable and prints: "Warning message: Unknown or uninitialised column"
- c# - 将国旗图像与国家名称匹配:
- angularjs - ng-repeat 搜索过滤器同时使用输入将数据添加到数据库
- correlation - 在 python 中测试多重共线性时使用哪个统计量?
- android-databinding - 在数据绑定的 xml 中使用泛型
- apache-kafka - WARN 新偏移量高于最新偏移量。为什么我不能在 Kafka 中更改偏移量?
- vba - 使用 Excel VBA 替换 MS Word 10 中的关键词
- javascript - 计算 Promise.all 的复杂性
- python - Pandas 根据类型替换 nan
- c++ - Qt 基类函数定义