webentwicklung-frage-antwort-db.com.de

Wie bekomme ich Daten aus lokalen Json-Dateien mit Aktionen und axios.get () (Redux)?

Ich schrieb Action, sollte Daten aus der Datei db.json erhalten. Aber 

Error: Nachricht "xhr.js: 178 GET http: // localhost: 8083/data/db.json 404 (Nicht gefunden)".

Warum ist es so, wenn mein Pfad korrekt ist (db.json befindet sich im selben Ordner)? In profileActions.js:

import axios from "axios";
var customData = require('./db.json');

export function fetchUsers(){
    return function(dispatch){
        axios.get('./db.json')
            .then((response) => {
                dispatch({type:'FETCH_USERS_FULFILLED', payload:response.data});
            })
            .catch((err) => {
                dispatch({type:'FETCH_USERS_REJECTED', payload:err});
            })
    }
}
5
Jurate

Ich treffe das ähnliche Problem schon vorher.Ich erstelle meine Reakt-App mit dem Befehl create -rease-app.Und finde, dass Sie die statische Datei nur aus dem öffentlichen Ordner erhalten können die "db.json" in den öffentlichen Ordner.

8
Thomas.lin

Ich weiß, dass diese Frage schon lange beantwortet ist. Es wird Leuten wie mir helfen. Anstelle von Axios oder anderen Netzwerkbibliotheken können Sie die Json-Datei direkt importieren und im Dispatcher zurückgeben. Wenn Sie lokales Json verwenden, um es zu testen, warum benötigen Sie Netzwerkbibliotheken. 

import data from './response.json'

export function initializeApp() {
  return function (dispatch) {
    dispatch({
      type: ActionTypes.ActionName,
      payload: data
    });

  }
}
1
PremPalanisamy