鍍金池/ 問(wèn)答/HTML/ 簡(jiǎn)單的redux,報(bào)錯(cuò)Cannot call a class as a func

簡(jiǎn)單的redux,報(bào)錯(cuò)Cannot call a class as a function

如何修改下面這段函數(shù),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;

圖片描述

回答
編輯回答
雨蝶

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

2018年1月22日 08:59
編輯回答
病癮

subscribe只能傳的是action

傳遞類需要高階組件

2017年5月3日 08:01