小编Mat*_*oss的帖子

反应组件连接,redux状态改变......但没有更新组件?

我正在为多频道聊天应用创建一个React/Redux前端.我有得到一些问题,反应的组分,同时使用状态改变后重新渲染redux,react-reduxredux-thunk.

我相信我的减速器是非变异的,而且我是通过它订阅react-reduxconnect.当我运行应用程序并查看浏览器控制台时,我看到组件的初始渲染(即具有初始,空状态),然后状态更改(由操作调度触发index.js)....我会期望组件使用新道具重新渲染,但它不会发生.

控制台日志

我在这里张贴了一个回购:https: //github.com/mattmoss/react-redux-no-update

node_modules不在repo中,所以要运行,首先下载依赖项(运行yarn就足够了),然后npm start.

一些摘录(请参阅回购中的完整资料):

reducers/channelList.js

import * as c from '../actions/constants';

export default function channelList(state = [], action) {
    switch (action.type) {
        case c.FETCH_CHANNELS_SUCCESS:
            return action.channels;
        default:
            return state;
    }
}
Run Code Online (Sandbox Code Playgroud)

actions/channelActions.js

export function fetchChannels() {
    return (dispatch) => {
        return ChannelApi.allChannels()
            .then(channels => dispatch(fetchChannelsSuccess(channels)))
            .catch(error => { throw(error); });
    };
}

export function fetchChannelsSuccess(channels) {
    return { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux react-thunk

6
推荐指数
1
解决办法
431
查看次数

标签 统计

javascript ×1

react-redux ×1

react-thunk ×1

reactjs ×1

redux ×1