gpt4 book ai didi

javascript - 如何将 combineReducers 与 handleActions 一起使用

转载 作者:行者123 更新时间:2023-11-29 10:55:50 25 4
gpt4 key购买 nike

我正在尝试创建新的 reducer survey,它必须结合 namequestions reducer,同时使用 handleActions 来自 redux-actions 包。但是我收到错误 Invariant Violation: Expected handlers to be a plain object. 我应该如何更改它才能实际工作?

import { Map, List } from 'immutable';
import { combineReducers } from 'redux-immutable';
import { handleActions } from 'redux-actions';

const initialNameState = List();
const initialQuestionsState = List();

const name = handleActions({}, initialNameState);
const questions = handleActions({}, initialQuestionsState);

export const initialSurveyState = Map({
name: initialNameState,
questions: initialQuestionsState
});

export const survey = handleActions(
combineReducers({
name,
questions
}),
initialSurveyState
);

最佳答案

handleAction 实际上创建了一个 reducer。直接使用combineReducer应该可以解决问题。

import React, { Component } from 'react';
import { render } from 'react-dom';
import { createStore, combineReducers } from 'redux';
import { connect, Provider } from 'react-redux';
import { Map, List } from 'immutable';
import { combineReducers } from 'redux-immutable';
import { handleActions, createAction, combineActions } from 'redux-actions';

const initialNameState = List();
const initialQuestionsState = List();

const name = handleActions({}, initialNameState);
const questions = handleActions({}, initialQuestionsState);

export const survey = combineReducers({name, questions});

const store = createStore(survey);

关于javascript - 如何将 combineReducers 与 handleActions 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57628554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com