2017-07-03 5 views
0

J'ai importé update de @types/immutability-helper. Maintenant, je veux pousser un élément dans un tableau dans l'état d'un composant React.Utilisant immutability-helper dans tapuscrit et réagir

La syntaxe dans index.d.ts fichier dit:

interface UpdateFunction { 
    (value: any[], spec: UpdateArraySpec): any[]; 
    (value: {}, spec: UpdateSpec): any; 
    extend: (commandName: string, handler: CommandHandler) => any; 
} 

et UpdateArraySpec est

interface UpdateArraySpec extends UpdateSpecCommand { 
    $push?: any[]; 
    $unshift?: any[]; 
    $splice?: any[][]; 
    [customCommand: string]: any; 
} 

ce que cela signifie que je dois écrire 2 mises à jour ?:

this.setState(update(this.state, update(this.state.Markers, { $push: [info] }))); 

ou quoi?

Répondre

0

C'est la syntaxe qui a fonctionné pour moi:

this.setState(update(this.state, { Markers: { $push: [info] } })); 

Ce n'est pas évident à partir du fichier de définition dactylographiée. Mais the docs dit quelque chose comme ça.