因此,我一直在努力弄清react-redux生态系统。我快到了,但是仍然有一些问题一直困扰着我,那就是componentDidUpdate方法。当我调度一个异步操作时,将正确调用store is reducer,并且组件的状态也会更新。
但是由于某种原因,componentDidUpdate方法不会触发,没有重新渲染,并且我无法访问更新的道具。如果我console.log(this.props.blogStore),我可以在devtools中看到它的变化。最初,它显示为空对象,但是单击时会打开并显示更新状态。
我已经尝试了尽可能多的生命周期方法,但是似乎没有任何效果,包括componentWillReceiveProps。
知道我在做什么错吗?
这是代码:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import App from './App';
import Datastore from 'Datastore';
const store = Datastore()
store.subscribe(() => console.log("state changed", store.getState()))
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
数据存储区
import { combineReducers, createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk'
import Mainmenu from 'reducers/Mainmenu';
import Blogstore from 'reducers/Blogstore';
const reducer = combineReducers({
Mainmenu,
Blogstore,
})
export default function Datastore() { …Run Code Online (Sandbox Code Playgroud) react-redux ×1