账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    redux的state更新,但是没有渲染??急急急急
    40
    0

    我在following组件中 dispatch addfollower方法
    这个方法同时更新follower发布的posts

    export function addFollower(currFollower){
        let curFriendsPosts = [];
        fetch('https://jsonplaceholder.typicode.com/posts')
            .then(response=>response.json())
            .then(data => {
                let allPosts = data;
                console.log(allPosts)
                allPosts.map((post) => {
                    for(let i in currFollower){
                        if(currFollower[i].id == post.userId){
                            curFriendsPosts.push(post);
                            
                        }
                    }
                    
                })
            })
            .catch(e=>console.log('Error',e))
            return {
                type:'IS_ADD_SUCCESS',
                currFollower,
                curFriendsPosts
            }
    }
    
    
    但是我在posts组件中,完全不渲染。state也是对的
    console.log(state.articles)也是对的。
    
    
    const mapStateToProps = (state) => {
        console.log(state.articles)
        return{
            Articles:state.articles == undefined?[]:state.articles,
        }
    } ;  
    
    export default connect(mapStateToProps, 
    null)(ArticlesView);`
    
    
    
    
    reducer是这样写的!!!!
    
    export const Reducer =(state={
        errRegInfo:'',
        errLogInfo:'',
        errUpdateInfo:'',
        errAddInfo:'',
        success:'',
        location:'',
        user:{},
        articles:new Array(),
        friends:[]
    },action)=>{
        switch (action.type){
            case 'TO_OUT':
                return {
                    ...state,
                    location:"LANDING_PAGE",
                    errRegInfo:'',
                    errLogInfo:'',
                    errUpdateInfo:'',
                    errAddInfo:'',
                    success:'',
                    user:{},
                    articles:[],
                    friends:[]}
            case 'TO_MAIN_PAGE':
                return {
                    ...state,
                    location:"MAIN_PAGE",
                    articles:[],
                }
            case 'TO_PROFILE_PAGE':
                return {
                    ...state,
                    location:"PROFILE_PAGE",
                    errUpdateInfo:''}
            case 'IS_REG_ERROR':
                return {
                    ...state,
                    errRegInfo: action.errRegInfo}
            case 'IS_LOG_ERROR':
                return {
                    ...state,
                    errLogInfo:action.errLogInfo
                }
            case 'IS_UPDATE_ERROR':
                return {
                    ...state,
                    errUpdateInfo:action.errUpdateInfo
                }
            case 'IS_ADD_ERROR':
                return {
                    ...state,
                    errAddInfo:action.errAddInfo
                }
            case 'IS_ADD_SUCCESS':
                return{
                    ... state,
                    friends:action.currFollower,
                    articles:action.curFriendsPosts,
                    errAddInfo:'',
                }
            case 'UPDATE_HEADLINE':
                return {
                    ...state,
                        user:{
                            ...state.user,
                            headline:action.newHeadline
                        }
                    }
            case 'REGISTER':
                return {
                    ...state,
                    user: action.user}
            case 'LOG_IN':
                return {
                    ...state,
                    user: action.user}
            case 'ADD_ARTICLE':
                return {
                    ...state,
                    articles: [
                        {
                            userName:"bebb",
                            body: action.body,
                            title: action.title
                            // timestamp:action.time,
                        },
                        ...state.articles
                    ]
                }
            case 'FETCH_ARTICLES':
                return {
                    ...state,
                    
                }
            default:
                return state
        }
    }
    export default Reducer
    
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部