本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。
react怎么请求部分刷新?
(相关资料图)
React实现局部刷新
【项目结构】
流程: 入口文件 -> 路由 -> layout -> Analysi/Monitor/Workspace
1.入口文件 -> src/index.js
2.组件 -> src/coms
3.布局 -> src/layout
4.路由 -> src/routes
【流程解析】
流程: 入口文件 -> 路由 -> layout -> Analysi/Monitor/Workspace
1.路由部分
//import React from "react"; 引入类//import { Component } from "react"; 引入对象import React, { Component } from "react";import {HashRouter, Route, Switch} from "react-router-dom";//引入布局和子组件import BasicLayout from "../layout/layout";import Analysis from "../coms/Analysis";import Monitor from "../coms/Monitor";import Workplace from "../coms/Workplace";//分配路由const BasicRoute = () => ( );export default BasicRoute;
登录后复制
2.布局部分(重点)
import React, { Component } from "react";import {Layout ,Menu,Icon} from "antd";import { Router, Route, Link,HashRouter } from "react-router-dom"import "antd/dist/antd.min.css"import BasicRoute from "../routes/router";const { Header, Footer, Sider, Content } = Layout;export default class BasicLayout extends Component { render() { return ( Header {/*Analysis.js文件引用了BasicLayout,并把自己的全部子节点(子组件)传过来*/} {this.props.children} ) }}
登录后复制
3.子组件(Analysis.js) (出错点)
import React from "react";import BasicLayout from "../layout/layout";export default () => { //用BasicLayout标签包裹,内容传到layout.js的this.props.children部分 return (Analysis Page
)}
登录后复制
【效果】
【总结】
按照antd官网的教程走了一遍,发现不能局部刷新
原因在于官网用了umi框架。我是自己配置,有很多遗漏,导致子组件没有正确的传递到layout中。
推荐学习:《react视频教程》
以上就是react怎么请求部分刷新的详细内容,更多请关注php中文网其它相关文章!