Wie teilt Redux Aktionen, die in mehrere Dateien
Habe ich einen Ordner "Aktionen" mit den üblichen types.js die Datei für mein handeln geben Konstanten, plus ein index.js Datei, die die folgenden
import axios from 'axios';
import { browserHistory } from 'react-router';
import {
AUTH_USER,
UNAUTH_USER,
AUTH_ERROR,
FETCH_MESSAGE
} from './types';
und auch Export-Funktionen für alle meine Handlungen. Ich Frage mich, gibt es eine Möglichkeit, die ich erstellen kann der mehrere Dateien für die Definition der meine Aktionen so index.js nicht zu lange werden, dann importieren Sie diese in mein index.js also in meinen Komponenten kann ich nur noch tun, zum Beispiel import { loginUser } from '../../actions';
und keine sorgen darüber machen müssen, welche Datei die Aktion herkommen?
- sicher, warum nicht? erstellen Sie mehrere Dateien, und importieren Sie dann die Inhalte dieser Dateien in diesem einen, dann exportieren. was ist ya stoppin?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie haben die folgenden directory-Struktur:
In Ihrem actions/index.js, schreiben:
Dann definieren ProductActions.js so etwas wie:
Denken Sie daran, auch aktualisieren Sie Ihre Reduzierstücke mit dem neuen action-Typen Datei:
export const fetchProducts = () => { ... };
vsexport function fetchProducts() { ... }
neben Gefühl, wie ein es6 hipster natürlich?Sagen, zum Beispiel haben wir zwei Aktionen-Dateien; actionsA und ActionsB.
Angenommen, in actionsA wir haben die folgenden Aktion-Funktionen.
und in actionsB haben wir den folgenden code:
Sagen, wir haben ein Ordner-Aktionen enthält zwei Dateien; actionsA und actionsB, und eine index.js Datei.
In index.js Datei importieren wir die verschiedenen Aktionen von actionsA und actionsB und exportiert dann die importierten Funktionen.
Nun können Sie einfach importieren Sie Ihre index-Datei und Holen Sie sich die Aktionen, die Sie verwenden möchten, wie unten gezeigt:
functionActionsA1
) in{}
. Also, jede export-Zeile am unteren Rand Ihres index.js die Datei sollte Aussehen wieexport { functionActionsA1 }
.Object.assign({}, state, action.payload)
ist das einzige, was meine Reduzierstücke.. windering über die relevants. Weiterhin erhalten Sie viele Dinge in Taten, war auf der Suche für eine saubere Weg, um Sie zu SpaltenFolgenden am Beispiel der cdaiga, möchte ich hinzufügen, dass hier etwas
und in actionsB haben wir den folgenden code:
Sagen, wir haben ein Ordner-Aktionen enthält zwei Dateien; actionsA und actionsB, und eine index.js Datei.
In index.js Datei importieren wir die verschiedenen Aktionen von actionsA und actionsB und exportiert dann die importierten Funktionen.
Nun können Sie einfach importieren Sie Ihre index-Datei und Holen Sie sich die Aktionen, die Sie verwenden möchten, wie unten gezeigt:
verwenden Sie es als - wenn Sie möchten, verwenden Sie Methode functionActionsA1