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 = () => (<HashRouter><Switch><Route exact path="/" component={BasicLayout}/><Route exact path="/Analysis" component={Analysis}/><Route path="/Monitor" component={Monitor}/><Route path="/Workplace" component={Workplace}/></Switch></HashRouter> );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 (<Layout><Sider width={256} style={{ minHeight: '100vh', color: 'white' }}><Menu theme="dark" mode="inline" >{/*定义了项目的link,会按照路由走*/}<Menu.Item><Link to="/Analysis">Item1</Link></Menu.Item></Menu></Sider><Layout ><Header style={{ background: '#fff', textAlign: 'center', padding: 0 }}>Header</Header><Content style={{ margin: '24px 16px 0' }}><div style={{ padding: 24, background: '#fff', minHeight: 360 }}>{/*Analysis.js文件引用了BasicLayout,并把自己的全部子节点(子组件)传过来*/}{this.props.children}</div></Content><Footer style={{ textAlign: 'center' }}>Ant Design ©2018 Created by Ant UED</Footer></Layout></Layout> )} }
3.子组件(Analysis.js) (出错点)
import React from 'react'; import BasicLayout from '../layout/layout'; export default () => {//用BasicLayout标签包裹,内容传到layout.js的this.props.children部分return (<BasicLayout><h1>Analysis Page</h1></BasicLayout>) }
【效果】
【总结】
按照antd官网的教程走了一遍,发现不能局部刷新
原因在于官网用了umi框架。我是自己配置,有很多遗漏,导致子组件没有正确的传递到layout中。
转载于:https://www.cnblogs.com/remly/p/10260301.html
React实现局部刷新相关推荐
- react中列表渲染的局部刷新
最近在写demo的时候遇到一个更新列表中某个的对象的某个值,最期待的结果肯定是局部刷新,但是我们往往在改变值之后会遇到全局都刷新的问题,以下为个人实验出来的一个小技巧. 首先我有以下数据需要通过rea ...
- redux 局部刷新_如何使用Redux Observables和刷新令牌API获取新的访问令牌
redux 局部刷新 by Sachin Kumar 由Sachin Kumar 如何使用Redux Observables和刷新令牌API获取新的访问令牌 (How to get a new acc ...
- php div图片局部刷新,前端jquery 后端 thinkphp 实现局部刷新
本例 用jquery 实现 通过把一个标签的变量传递给后台处理后,然后返回给前台另外一个变量 大致流程是这样的:前端编写html代码 ,加入要局部刷新的 jquery代码并指定要响应的url, 首先 ...
- struts2 jquery ajax 局部刷新遇到的各种问题
我们的网站一开始都是由前台提交表单到action,每次一个小操作整个页面都会刷新,影响用户体验,这次由我实现部分功能的局部刷新,但是初学ajax遇到不少问题 1.我们在struts.xml外扩展了一个 ...
- 动态生成能够局部刷新的验证码【AJAX技术】---看了不懂赔你钱
在开发JavaWeb应用时,动态生成能够局部刷新的验证码是一项必须的功能,在这里我们将会详细的讲解如何实现这一功能. 一.涉及技术 该功能需要用到AJAX异步传输技术,这样能保证在点击"看不 ...
- 局部刷新时间 jsp_局部区块多个报表 TAB 页切换及局部区块的参数查询
在企业的业务系统中,如何从纷繁复杂的数据中抽丝剥茧看到关键数据信息呢?一个重要的途径就是将企业和各部门运营中关键的 KPI 集中在一起显示,同时尽量省去在企业的各个业务系统中分别查找数据. 下面是我近 ...
- java验证码局部刷新_JS局部刷新图形验证码
开发过程当中,网络安全采取的方法之一,采用验证码功能.一般在注册.登录的程序当中见得比较多.其自己在实现这一功能时,静态页面有一段调用图形验证码的PHP文件,//,验证码是随机生成的,一般将生成的验证 ...
- flutter怎么手动刷新_flutter局部刷新的实现示例
局部刷新 我们在做项目的时候,都需要单独的去刷新一个值,而不是把整个界面都重绘.大家都知道setState是进行重绘的一个方法,他会执行生命周期的一个build,这将会使得整个界面来进行重绘.当然我们 ...
- FineReport——JS二次开发(局部刷新)
在FR中,可以通过在form表单设置多个报表模板,然后通过对某一模板刷新实现局部刷新的功能,在cpt模板中,由于只存在一个模板,所以无法实现局部刷新. 其实,最好的局部刷新办法是自定义一个页面,然后添 ...
最新文章
- C#进行Visio二次开发之电气线路停电分析逻辑
- 前后端分离的探索(四)
- python pip whl 安装
- 当法律纽带变成“机器红线”,能让自动驾驶汽车更安全吗?
- java内存模型与volatile变量与Atomic的compareAndSet
- python迅雷远程下载页面_【教程】Chrome浏览器添加迅雷下载支持
- 嵌入式linux内核oops,Linux编程时遇到Oops提示该如何排查?
- php word组件使用方法,快速解决PHP调用Word组件DCOM权限的问题讲解
- [分治FFT]「CTSC2018」青蕈领主
- linux动态路由rip配置,配置 动态路由协议OSPF和RIPv2实现全网互通^
- 最最最最终极办法!解决Idea乱码问题
- 前端学习(477):前端简介1
- 数论 —— 莫比乌斯反演
- 零基础带你学习MySQL—多表查询笛卡尔集(二十)
- javaweb实训第四天下午——员工管理系统-JSPServletJDBC综合练习-CRUD
- 程序员面试金典——1.6像素翻转
- 日期判断是今天/明天/后天
- I2C 时序详解,精确到每一个时钟
- 使用 UICollectionView 实现网格化视图效果
- mapbox-gl添加threejs飞线
热门文章
- 极域电子教室学生机房管理助手(好好上课)教程
- 2023杭州之江中复百日誓师动员大会
- Kibana的基础语法
- 日语五十音之平假音和片假音的巧记
- 云计算概念活跃 浪潮软件放量涨停
- 英特尔GPU大牛投身AI创业/ ChatGPT公布Bug原因/ SpaceX最新估值1400亿美元…今日更多新鲜事在此...
- JavaSE、JavaEE和JavaME
- matlab中 %d,%f,%c,%s代表什么意思
- 邮箱-手机账号格式如何进行正则表达式校验
- 京东撸货--网上几百元的教程怎样辨别真假?不要被割韭菜