2017-02-25 3 views
1
state = { 
    blog: { 
    name: 'abc', 
    score: 5 
    } 
} 


var { blog } = this.state 

// vous voulez faire blog.score = 5React, ce qui est la façon dont la mise à jour de l'état preferred

1. blog = _.merge({}, blog, { 
    score: 3 
}) 


2. blog = { 
    ...blog, 
    score: 5 
    } 

3. blog = update(blog, { 
    $set: { 
     score: 5 
    } 
    } 

this.setState({blog}) 

Je ne sais pas s'il y a d'autres moyens, mais y aurait-il une préférence par-dessus ces derniers?

Qu'en est-

state = { 
    site: { 
    blog: { 
     name: 'abc', 
     score: 5 
    } 
    } 
} 


site = _.merge({}, site, { 
    blog: { 
    score: 5 
    } 
}) 


site = update(site, { 
    blog: { 
    $set: { 
     score: 5 
    } 
    }) 


this.setState({site}) 

Répondre

1

fournit déjà l'utilité de fusionner avec l'état précédent nouveau.

let newState = React.addons.update(this.state, { 
    blog: { 
    score: { $set: 5} 
    } 
}); 
this.setState(newState); 

More details about this addon