【问题标题】:'(0, _reactRedux.connect)(mapStateToProps)(mapDispatchToProps)' is an instance of Object)'(0, _reactRedux.connect)(mapStateToProps)(mapDispatchToProps)' 是 Object 的一个实例)
【发布时间】:2021-08-26 17:21:02
【问题描述】:

[如果您需要更多代码片段,我很乐意向您展示] 我刚刚使用 React Native 进入 Redux,并且正在构建一个非常基本的存储:它只是读取和添加数据。我遇到了这个问题,我可以用mapStateToProps 连接一个组件,但是当我想使用mapDispatchToProps 它会抛出这个TypeError:(0, _reactRedux.connect)(mapStateToProps)(mapDispatchToProps) is not a function. (In '(0, _reactRedux.connect)(mapStateToProps)(mapDispatchToProps)(MyApp)', '(0, _reactRedux.connect)(mapStateToProps)(mapDispatchToProps)' is an instance of Object)

这就是我使用和导入连接的方式

import { connect } from 'react-redux';
export default connect(mapStateToProps)(mapDispatchToProps)(MyApp);

这些是我的mapStateToPropsmapDispatchToProps 和连接:

const mapStateToProps = state => state;
const mapDispatchToProps = dispatch => ({
    addQuote: (val) => dispatch(addQuote(val))
})
export default connect(mapStateToProps)(mapDispatchToProps)(MyApp);

这是我的减速器文件

const initialState = []

const ADD_QUOTE = 'ADD_QUOTE';

export const addQuote = val => ({
    type: ADD_QUOTE,
    payload: {
        quote: val
    }
});

export default (state = initialState, action) => {
    switch (action.type) {
        case ADD_QUOTE:
            return [action.payload].concat(state)
        default:
            return state
    }
}

这就是我使用动作创建器的方式

const handleSubmitButton = (val) => addQuote(val);
<TouchableOpacity
                style={styles.submitButton}
                onPress={ () => handleSubmitButton(quoteForm) }
            >
                <Text style={{ color: '#fff' }}>
                    SOUMETTRE
                </Text>
            </TouchableOpacity>

感谢任何形式的帮助,因为我是这个主题的新手,而且据我所知,我做得很好。

【问题讨论】:

    标签: reactjs react-native redux react-redux


    【解决方案1】:

    正如 Reactiflux 上的回答,问题是对connect 的错误调用:

    export default connect(mapStateToProps)(mapDispatchToProps)(MyApp);
    

    mapDispatch 需要是第二个参数,而不是单独的函数调用:

    export default connect(mapStateToProps, mapDispatchToProps)(MyApp);
    

    【讨论】:

      猜你喜欢
      • 2021-01-05
      • 2019-03-01
      • 2018-10-04
      • 2018-05-10
      • 2021-03-29
      • 2018-06-15
      • 2017-05-03
      • 2021-04-15
      相关资源
      最近更新 更多