2016-09-22 1 views
0

http://codepen.io/adamchenwei/pen/yagLLZ?editors=0010Wie alle Zustände bestimmten Teil der untergeordneten Komponenten in reactjs

I FormatModule Komponente ändern, die von RepeatModule zwei Ebenen tief ist. Ich möchte, wenn onClick ist löst onClick={this.props.changeFormat.bind(this)} auf dem FormatModule, wird es alle Statuen für alle von islamic-islamic: '09999999', ändern, oder je nachdem, welche wurde in von changeFormat Funktion innerhalb des I RepeatModule

bestanden gehört dies der einzige Weg ist Staat zu manipulieren massiv, wenn es in einer Liste von Komponenten verschachtelt ist.

Wenn ich jetzt auf klicke, wo onClick={this.props.changeFormat implementiert ist, reagieren Werte nicht auf die Änderung. Ich frage mich, wo ist der Ort, den ich verpasse Link? Seit changeFormat ist eine Funktion, die von der obersten Elternkomponente bis auf die FormatModule übergeben wurde ... es sei denn, es ist nicht die Art und Weise, es zu tun?

HINWEIS: Ich habe eine Lösung benötigen, die nicht Redux oder Flux

Antwort

1

Mit Hilfe von Kollegen beteiligt, das bereits in meinem Code Stift festgelegt: http://codepen.io/adamchenwei/pen/yagLLZ?editors=0010

So war das Problem, dass:

  1. I bind(this) im falschen Bereich. Sollte nur innerhalb des RepeatModule binden
  2. der newFormat Staat sollte das Format des Originalformat folgen (in diesem Fall ist es ein array war so sollte newFormat ein array auch sein!

Genießen!

(Hoffe, wer meine Fragen abgelehnt hat, kommt zurück und lernt ihre Sachen, bevor sie andere zuerst fallen lassen, besonders ohne Grund)

Verwandte Themen