react.js - react设置state时,其它对象全部被清空了,如何解决?

查看:226
本文介绍了react.js - react设置state时,其它对象全部被清空了,如何解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

export default class CdPlayer extends React.Component{
    constructor(props){
        super(props)
        this.state={
                player:{
                    listStatus : 0,
                    audio : this.audioRef,
                    isPlaying :false,
                    currentMusic : 0,
                    prevMusic : -1,
                    repeat : 2,
                    relist :['fa-random', 'fa-refresh', 'fa-retweet'],
                    retitle : ['Random', 'Cycle', 'Order'],
                    playlist : musicList,
                },
                process:{
                    completed: 0,
                }
        }
    }

当我使用this.setState({player:{listStatus:1}})时,其它player对象里面属性全部没有了,如何解决


this.setState({
            currentMusic: parseInt(localStorage.currentMusic),
            currentMusicItem:this.state.playlist[i]
        })
        console.log('player=')
        console.log(this.state)

解决方案

this.setState({
  player: Object.assign(this.state.player, {listStatus: 1})
})

这篇关于react.js - react设置state时,其它对象全部被清空了,如何解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆