2016-11-02 48 views
0

Ich habe 3 Fragen zu state mit redux reagierenZustand in reagieren mit redux

die erste ist, dass, wie ich weiß, state ein Objekt ist. Aber woher kann ich die Felder im state Objekt kennen?

das zweite ist, dass aus der todomvc official example, ein Zustand ist:

state = { 
    editing: false 
    } 

    handleDoubleClick =() => { 
    this.setState({ editing: true }) 
    } 

in meinem Verständnis würde setState den globalen Zustand aktualisieren. Also bedeutet das, dass dieser Zustand global und nicht lokal ist? und der Staat hat nur ein Feld editing?

Meine letzte Frage ist, dass ich gerade eckig meine Website zu entwickeln, die 3 Seiten, z. www.example.com/invoice, www.example.com/customers und . Für jede Seite würde ich angular verwenden, um Daten aus dem Backend zu holen. Wenn ich es also mit redux umschreiben will, sollte der Zustand so sein wie unten.

{ 
    type: xxx, 
    invoiceData: xxx, 
    customerData: xxx, 
    supplierData: xxx, 
    //some other cool stuff 
} 

Antwort

1
  1. Normalerweise, wenn Sie den Status ändern möchten oder Zugriff haben Sie vorher definiert seine Felder. Das machen Sie mit state = {editing: false}.

  2. Ich denke, dass Sie den Zustand der Reaktion mit Redux mischen. Der Status von Redux ist global für die App, aber in diesem Beispiel verwenden Sie nicht Redux. Dieser Status ist der Komponentenstatus von React. Daher ist in der Komponente nur lokal auf zugegriffen. setState ist eine React-Funktion, die den Zustand der Komponente asynchron verändert. Nachdem setState aufgerufen wurde, wird die Komponente erneut gerendert.

  3. Ich denke, dass diese Frage unklar ist, weil, wie gesagt, Sie mit React und Redux verwechselt werden könnten. Versuchen Sie zuerst, sich selbst zu verstehen React und dann werfen Sie einen Blick auf Redux.