Dans React, dva est une solution de flux de données basée sur Redux et Redux-saga. Afin de simplifier l'expérience de développement, dva intègre également React-Router et Fetch, il peut donc également être compris comme. un cadre d'application léger.
Cette méthode convient à toutes les marques d'ordinateurs.
introduction de dva
adresse du site officiel de dva : https://dvajs.com/
dva est un framework d'application d'une seule page lancé par Ant Financial, qui encapsule Redux, React-Router et Redux-Saga au niveau supérieur. redux-saga est un middleware utilisé pour gérer les opérations asynchrones des applications redux. redux-saga rassemble toute la logique des opérations asynchrones en un seul endroit pour un traitement centralisé en créant des sagas. Il peut être utilisé pour remplacer le middleware redux-thunk
Le projet React introduit Dva
Introduction
Préparer
npm install dva —save
index.js
import dva from ‘dva’; import createHistory from ‘history/createHashHistory’; //1.Initialize const app = dva({ history: createHistory(), }); //2.Plugins //app.use({}); //3.Model //app.model(require(‘./models/app’).default); //4.Router app.router(require(‘./router’).default); //5.Start app.start(‘#root’);
router.js
import React from ‘react’; import { Router, Route, Switch } from ‘dva/router’; import App from ‘./containers/App’; import{ Account, Articles, Channels, Editor } from ‘./containers’; const { ArticleList } = Articles; const RouterConfig = (({ history }) => ( <routerhistory> <switch> <route> <indexroute></indexroute> <route></route> <route></route> <route></route> <route></route> </route> </switch> )); export default RouterConfig;</routerhistory>
Pour plus de configuration de routage, veuillez vous référer à la documentation officielle de React-Router
Problème résoluRedémarrez le projet une fois la configuration terminée. Vérifiez l'effet de la page comme suit :
Il s'avère que la partie conteneur est rendue avec succès, mais la page correspondant au sous-projet. -route (la valeur par défaut est Account) n'est pas rendue. En regardant à nouveau la console, une erreur est signalée
Warning: Please use `require(“history”).createHashHistory` instead of `require(“history/createHashHistory”)`. Support for the latter will be removed in the next major release.
const createHistory = require(‘history’).createBrowserHistory;
Warning: You should not use <route> and <route> in the same route; <route> will be ignored</route></route></route>
React-router 4.0 et supérieur. Les versions ne recommandent plus d'utiliser le routage imbriqué comme indiqué ci-dessous.
<route> <route></route> </route>
<app> <route></route> </app>
Par Cette supposition est qu'il y a un problème avec la configuration du routage de la page J'ai recherché des informations pertinentes (react-filling. les pièges du rapport d'erreurs de React-Router après l'actualisation) et j'ai découvert que cela s'est avéré être un problème lors de l'utilisation de BrowserHistory
HashHistory. //const createHistory = require(‘history’).createBrowserHistory;
const createHistory = require(‘history’).createHashHistory;
Vous pouvez modifier dva dans la page plus tard. L'utilisation du modèle et du réducteur dans dva est relativement simple, essayez-le selon le document, je ne les décrirai pas un par un ici. .
import createHistory from ‘history/createHashHistory’;
createHashHistory
Pour plus de connaissances liées à la programmation, veuillez visiter : Introduction à la programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!