Function executes twice
我不明白为什么我的函数returnSlidesReducer()执行两次。
我正在使用Redux。
我的减速器文件slides.js是(读取json文件并将数据返回到商店):
1 2 3 4 5 6 7 8 9 10 | import jsonFile from '../sliderContent.json'; const returnSlidesReducer = (slidesContent) => { console.log(slidesContent); return slidesContent; } returnSlidesReducer(jsonFile); export default returnSlidesReducer; |
还有我的index.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; import { createStore } from 'redux'; //import allReducers from './reducers'; import SlidesReducer from './reducers/slides'; const store = createStore(SlidesReducer); ReactDOM.render( <App />, document.getElementById('root') ); |
在控制台中,我得到:
由于这个原因,我在商店中不
在
中从示例待办事项应用程序中查看化简器
1 2 3 4 5 6 7 8 9 10 | function todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([action.text]) default: return state } } let store = createStore(todos, ['Use Redux']) |
您不需要像您一样显式调用reducer函数。
如果要使用json对象作为初始状态,可以将其作为第二个参数传递给
1 | createStore(returnSlidesReducer, jsonFile); |
请注意,您的reducer功能不是标准的redux reducer形式。我建议遵循官方的