我不知道为什么会出现以下错误.

我只是在建立我的store ,行动和减速器,我还没有打电话给调度.

预期

应用程序运行正常,Redux状态未更新

后果

enter image description here

src/index.js
import React from 'react'
import ReactDOM from 'react-dom'

import { createStore, applyMiddleware, compose } from 'redux'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import reducer from './reducer'

import App from './App'
import css from './coinhover.scss'

const element = document.getElementById('coinhover');

const store = createStore(reducer, compose(
    applyMiddleware(thunk),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
));

ReactDOM.render(
    <Provider store={ store }>
        <App />
    </Provider>, element);
src/reducer/index.js
import { combineReducers } from 'redux'
import { coins } from './coins'

export default combineReducers({
    coins
});
src/reducer/actions/coins.js
import * as api from '../../services/api'
import { storage, addToPortfolio } from '../../services/coinFactory'

export const ADD_COIN = 'ADD_COIN'

export function getCoin(coin) {
    return dispatch => {
        api.getCoin(coin)
            .then((res_coin)  => addToPortfolio(res_coin))
            .then((portfolio) => dispatch(updatePortfolio(portfolio)));
    }
}

export function updatePortfolio(portfolio) {
    return {
        type: ADD_COIN,
        portfolio
    }
}
finally src/reducer/coins/index.js
import { ADD_COIN } from './actions'

const initialState = [];

export default (state = initialState, action) => {
    switch(action.type) {
        case ADD_COIN:
            return action.portfolio;
        default:
            return state;
    }
}

推荐答案

您的问题在于如何导入coins减速机:

import { coins } from './coins'

后者try 获取从中的文件返回的命名导出/硬币.

您没有使用任何命名导出,因此只需按如下方式导入文件:

import coins from './coins';

使用后者将导致coins包含export default的值;这将是硬币减缩器.

Reactjs相关问答推荐

如何将google地址lat收件箱设置为输入值?

react-hook-form问题:为什么getValues不返回大多数当前值?

为什么我无法访问窗口事件处理程序中的状态?

从app.js导航,这是在BrowserRouter包装之外

安装后未渲染tailwind

try 在Dockerfile中使用AWS CLI将React构建工件上传到S3时出错

TypeError:SearchProduct.get()获得了意外的关键字参数查询'

如何用Reaction做交互式的MathML?

Next.js:提交表单时状态尚未就绪

如何使数据库数据在第一次呈现时显示?

滚动视图样式高度没有任何区别

Redux 工具包不更新状态

在 React 中将 MUI 样式外包到单独的文件中?

如何将 DocuSign 控制台界面嵌入到 React 应用中

如何渲染子路径并触发react 路由父加载器?

在嵌套的 Stack Navigator 中的 BottomTabBar 中导航会导致比以前更多的渲染

使用 React 中的功能组件更改另一个组件的状态

NextJs - 如何从站点 map 生成器中删除重复的 URL?

CORS 政策:无访问控制允许来源-AWS 和 Vercel

在 Redux 中更新布尔状态时出错