3

私は似たような質問をたくさん読みました,そして誰も私に合いませんでした.

this.props.children は常に親からコンテキストを継承するとは限りません

コンテキストまたは小道具のいずれかで「ストア」が見つかりませんでした

//store config
const createHistoryWithBasename = (historyOptions) => {
    return useBasename(createHistory)({
        basename: '/user_home'
    })
}
const finalCreateStore = compose(
    applyMiddleware(thunk, createLogger()),
    reduxReactRouter({
        createHistory: createHistoryWithBasename }),
        devTools()
    )(createStore);

export function configureStore(initialState) {
    const store = finalCreateStore(rootReducer, initialState);
    return store;
}

インデックス ファイル、プロバイダーにネストされたすべてのルート。

//entry file
let routes = (
    <Route path="/" component={UserHome}></Route>
);

ReactDom.render(
    <Provider store={store} >
        <ReduxRouter>
            {routes}
        </ReduxRouter>
    </Provider>,
    rootElement
);

コンポーネント。this.propsをログに記録しましたが、dispatchプロパティはありません。また、 contextのパラメーターは空のオブジェクトです。

//user_home.js
class UserHome extends React.Component {
    constructor(props, context){
        //context is empty Object
        super(props, context);
    }
    render() {
        //this.props.dispatch is undefined
        return (
            <div className="container">
               test
            </div>
        );
    }

}

function mapStateToProps(state){
    return state;
}
export default connect(mapStateToProps, {
    pushState
})(UserHome);

単純な質問かもしれませんが、かなり時間がかかりました。ありがとうございました!

4

1 に答える 1