1

我正在尝试将 simpreWebRTC 集成到我的 React-Redux 项目中,但是该库有自己的 redux 存储,并且文档说明了这一点:

“提供的createStore功能使基本的 Redux 存储对于开始工作很有用。如果你想自己创建,请reducer从 '@andyet/simplewebrtc' 导入,并确保将其分配到simplewebrtc状态对象的顶层。”

我尝试了几种方法,但没有任何效果,有什么想法吗?我在这里缺少什么?谢谢

这是我到目前为止的代码:

store.js

import {createStore, applyMiddleware} from 'redux'
import rootReducer from './reducers/index'
import thunk from 'redux-thunk';

export default createStore(rootReducer, applyMiddleware(thunk));

const store = createStore(rootReducer);
console.log(store.getState());

./reducers/index.js

import {combineReducers} from 'redux'
import {reducer as simplewertc} from '@andyet/simplewebrtc'
import liveRoomReducer from './liveRoomReducer'


export default combineReducers({simplewertc, liveRoomReducer});

./reducers/liveRoomReducer.js

const initialState = {    
    test : 'test' 
};

export default function liveRoomReducer(state=initialState, action) {    
    return state;
};

我正在控制台中记录商店状态,并在其上显示 simplewebrtc:

在此处输入图像描述

并且仍然显示此错误:

在此处输入图像描述

4

1 回答 1

1

使用 thunk 中间件创建自己的商店并使用combineReducers应该可以解决问题:

import {combineReducers} from 'redux';
import {reducer as simplewebrtc} from '@andyet/simplewebrtc';
import reducer1 from 'path/to/your/reducer1';
import reducer2 from 'path/to/your/reducer2';

export default combineReducers({simplewebrtc, reducer1 , reducer2});

如果这对您不起作用,请提供显示的错误(如果有)以及您如何创建 redux 存储和 root reducer 的一些示例代码。

编辑:在看到更新后的代码问题后,我们发现问题是在导入减速器时出现拼写错误。

于 2018-12-25T21:18:38.377 回答