未定义不是评估'this.props.dispatch的函数

时间:2019-02-14 18:30:12

标签: react-native redux

我尝试测试redux。我有组件Main重定向到TestRedux。单击按钮后,TestRedux组件将进行调度并重定向到TestRedux2。

TestRedux和TestRedux2相同,我进行了复制/粘贴,只是更改了值。 TestRedux可以正确调度,但是testRedux2会触发错误。

您知道问题的原因是什么吗?

// TestRedux
import React from 'react';
import { View, Text, Button, Alert } from 'react-native';
import { ADD_RES } from "../Constants/action-types";
import {addResa} from "../Actions/actions";
import { connect } from 'react-redux'
import Store from '../Store/store'


const mapStateToProps = state => ({ date: state.date }) 


export class TestRedux extends React.Component {

  render() {
    this.props.dispatch(addResa(1));

    return (
      <View>
         <Button
              onPress={() => {  this.props.navigation.navigate('TestRedux2')  }}
              title='test'
          />

      </View>
    )
  }
}


export default connect(mapStateToProps)(TestRedux)
// TestRedux2
import React from 'react';
import { View, Text, Button, Alert } from 'react-native';
import { ADD_RES } from "../Constants/action-types";
import {addResa} from "../Actions/actions";
import { connect } from 'react-redux'
import Store from '../Store/store'

const mapStateToProps = state => ({ date: state.date }) 

export class TestRedux2 extends React.Component {

  render() {
    this.props.dispatch(addResa(2));

    return (
      <View>
         <Button
              onPress={() => {  this.props.navigation.navigate('TestRedux')  }}
              title='test2'
          />

      </View>
    )
  }
}


export default connect(mapStateToProps)(TestRedux2)

商店是:

import { createStore } from "redux"; // without redux persist
import { persistCombineReducers } from 'redux-persist'
import storage from 'redux-persist/lib/storage'
import resaReducer from "../Reducers/resaReducer";

const rootPersistConfig = {
  key: 'root',
  storage: storage
}

const Store = createStore(persistCombineReducers(rootPersistConfig, {resaReducer}))
export default Store;
````

1 个答案:

答案 0 :(得分:0)

发送一个动作或传递null以进行连接。查看问题是否继续。

export default connect(mapStateToProps)(TestRedux2)

export default connect(mapStateToProps, null)(TestRedux2)