Reactjs this.props.getUser不是函数mapDispatchToProps-React Native,Redux

Reactjs this.props.getUser不是函数mapDispatchToProps-React Native,Redux,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,因为我刚刚在我的react原生项目中实现了Redux,所以我创建了第一个reducer、action和store,但它不起作用 组件安装 this.props.getUser(user()); console.log('Props: ', this.props); 控制台。日志: Props: {screenProps: undefined, navigation: {…}} 调度程序 const mapDispatchToProps = (dispatch) => { r

因为我刚刚在我的react原生项目中实现了Redux,所以我创建了第一个reducer、action和store,但它不起作用

组件安装

this.props.getUser(user());

console.log('Props: ', this.props);
控制台。日志:

Props:  {screenProps: undefined, navigation: {…}}
调度程序

const mapDispatchToProps = (dispatch) => {
    return ({
        getUser: (data) => dispatch(data)
    })
}
export default connect(mapStateToProps, mapDispatchToProps)(homeNav);
用户功能

export function user () {
    return dispatch => {
        console.log(21312312);
        dispatch(request({}))
    }

    function request (user) {
        return { type: GET_USER_REQUEST, user }
    }

    function success (user) {
        return { type: GET_USER_SUCCESS, user }
    }

    function failure (error) {
        return { type: GET_USER_FAILURE, error }
    }
}
请查看下面的屏幕截图,查看homeNav是如何导入的


尝试更改此
getUser:(数据)=>dispatch(数据)

这个
this.props.getUser(user())

还需要包装你的应用程序如下

import { Provider } from 'react-redux';
import Route from './route';
let store = createStore(Reducers);

class App extends Component {
    render() {
        return (
            <Provider store={store}>
                <Route />}
        </Provider>
        );
    }
}

export default App;
从'react redux'导入{Provider};
从“./Route”导入路由;
let store=createStore(减缩器);
类应用程序扩展组件{
render(){
返回(
}
);
}
}
导出默认应用程序;

您如何导入
homeNav
组件?@FernandoMontoya您能检查问题末尾的屏幕截图吗?您可以在
createStackNavigator
之前尝试将其连接到Redux,我刚刚尝试将我的MapStateTrops和mapDispatchToProps放在createStackNavigator之前,但连接线仍处于打开状态最后。因为homeNav在运行之前不会被访问,所以它仍然不起作用,所以还需要将您的路由和应用程序与Provider包装为
import{Provider}from'react redux';从“./Route”导入路由;let store=createStore(减缩器);类应用程序扩展组件{render(){return(});}}}导出默认应用程序
在你的App.js中,它已经包装好,并且在正常页面中以不同的方式工作。。。我认为createStackNavigator有问题
this.props.getUser(data);
import { Provider } from 'react-redux';
import Route from './route';
let store = createStore(Reducers);

class App extends Component {
    render() {
        return (
            <Provider store={store}>
                <Route />}
        </Provider>
        );
    }
}

export default App;