简单的redux,报错Cannot call a class as a function

如何修改下面这段函数,react版本是16

import React from 'react';
import ReactDOM from 'react-dom'
import { createStore } from 'redux'

const Counter = ({ value, onIncrement, onDecrement }) => (
    <div>
        <h1>{value}</h1>
        <button onClick={onIncrement}>+</button>
        <button onClick={onDecrement}>-</button>
    </div>
);

const reducer = (state = 0, action) => {
    switch (action.type) {
        case 'INCREMENT': return state + 1;
        case 'DECREMENT': return state - 1;
        default: return state;
    }
};

const store = createStore(reducer);


class Basic extends React.Component {

    constructor() {
        super();
        this.state = {
            isShowAll: false
        }

    }

    render() {
        return (
            <Counter
                value={store.getState()}
                onIncrement={() => store.dispatch({type: 'INCREMENT'})}
                onDecrement={() => store.dispatch({type: 'DECREMENT'})}
            />
        )
    }



}

store.subscribe(Basic);

export default Basic;

图片描述

阅读 9.3k
2 个回答

store.subscribe(Basic);
subscribe传的是action或者createaction 不能传class class只能被new

subscribe只能传的是action

传递类需要高阶组件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题