将Redux Store传递给多个提供商

时间:2018-03-17 14:20:06

标签: javascript reactjs ecmascript-6 redux react-redux

我遇到Redux问题。我试图将1个商店传递给多个提供商但是当我更新状态时,只对组件A进行更改,而不是对组件B进行更改。

这是我创建商店的地方。 -configureStore.js

import {createStore, combineReducers, applyMiddleware, compose} from 'redux';
import listsReducer from '../reducers/lists';
import usersReducer from '../reducers/users';
import thunk from 'redux-thunk';


const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;



//Store Creation
//combine reducers in object
export default () => {
    const store = createStore(
    combineReducers({
            listsData: listsReducer,
            usersData: usersReducer
        }),
        composeEnhancers(applyMiddleware(thunk))
    );

    return store;
};

这就是我试图将其传递给多个提供商的地方,但两个商店中的状态都没有更新。

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import configureStore from './store/configureStore';

import Header from './components/Header';
import ListGrid from './components/ListGrid';
import LeadsList from './components/LeadsList';

//Redux
const store = configureStore();

const AppRouter = () => (
    <div>
        <Header/>
        <ListGrid/>
    </div>
);


const jsx = (
    <Provider store={store}>
        <AppRouter/>
    </Provider>
);

if (document.getElementById('root')) {
    ReactDOM.render(jsx, document.getElementById('root'));
}

const Belscherm = () => (
    <div>
        <LeadsList/>
    </div>
);


const bellen = (
    <Provider store={store}>
        <Belscherm/>
    </Provider>
);

if (document.getElementById('bellen')) {
    ReactDOM.render(bellen, document.getElementById('bellen'));
}

0 个答案:

没有答案