react 编写 基于ant.design 页面的参考笔记
前言
因为我没有系统的学习 react,是边写边通过搜索引擎找相对的问题,看 ant.design的 中文文档 编写的一个单页面, 以下的笔记都是写 gksvideourlr 时记录的。
重新设定表单输入框的值
//this.props.form.resetFields(); //重置表单的值 initvalues
//直接设定值
this.props.form.setFieldsValue({
username: "",
});
this.props.form.validateFields(); //再次调用验证表单方法,对表单再次验证
react中setState后,没有立即获取到最新的state中的值
在 setState 方法添加匿名函数回调
this.setState({
showVideo: checked,
},() =>{
console.log(this.state.showVideo);
});
React使用build 非 root
在项目的package.json文件中增加一个节点“homepage”:".",或者是"./"
{
"name": "ksvdv",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"antd": "^3.26.2",
"axios": "^0.19.0",
"js-cookie": "^2.2.1",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-scripts": "3.3.0"
},
"homepage": ".",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
}
react 使用 cookie
地址: https://github.com/js-cookie/js-cookie
安装 js-cookie
npm i js-cookie --save
在项目中引入,如在 App.js内容开头的 import语句后面添加
import Cookies from 'js-cookie';
使用
//获取cookie的值
let show_video = Cookies.get('show_video');
//设置一个cookie
Cookies.set('key','value');
如果将 boolean 类型的数据存入到 cookie中,取出将是字符型的 boolean值,不能直接与 boolean类型的值进行判断值是否相等,可以考虑存放到cookie的boolean类型数据使用1和0进行代替。
这是我存放 获取存入boolean类型的 cookie的处理。
let show_video = Cookies.get('show_video');
if(show_video === undefined){
show_video = true;
}else{
show_video = (show_video === "false")?false:true;
}
Cookies.set('show_video',show_video);
React axios POST 请求
安装 axios
npm install axios --save
引入
import axios from 'axios';
//axios的qs库
import Qs from 'qs';
发送 Content-type 为 application/x-www-form-urlencode POST 请求
axios.post('request_url',Qs.stringify({
username: 'username',
password: 'password'
})
).then(res=>{
console.log("res",res)
})
//如果不使用 axios的 qs 库,也可以使用URLSearchParams接口
let param = new URLSearchParams();
param.append("username", "username");
param.append("password", "password");
react 显示html
显示我的 state的 videoHtml
this.state={
videoHtml: "<div>Hello world</div>"
}
<div className="video-wrapper" dangerouslySetInnerHTML={{ __html: this.state.videoHtml }}></div>
固定显示html
<div className="video-wrapper" dangerouslySetInnerHTML={{ __html: '<div>Hi</div>' }}></div>
原理:
1.dangerouslySetInnerHTMl 是React标签的一个属性,类似于angular的ng-bind;
2.有2个{{}},第一{}代表jsx语法开始,第二个是代表dangerouslySetInnerHTML接收的是一个对象键值对;
3.既可以插入DOM,又可以插入字符串;
4.不合时宜的使用 innerHTML 可能会导致 cross-site scripting (XSS) 攻击。 净化用户的输入来显示的时候,经常会出现错误,不合适的净化也是导致网页攻击的原因之一。dangerouslySetInnerHTML 这个 prop 的命名是故意这么设计的,以此来警告,它的 prop 值( 一个对象而不是字符串 )应该被用来表明净化后的数据。
References
Antd Form 清空表单
react setState
react build
react html
react中dangerouslySetInnerHTML使用(简洁)
react post request
react 编写 基于ant.design 页面的参考笔记的更多相关文章
- 基于Ant Design Vue封装一个表单控件
开源代码 https://github.com/naturefwvue/nf-vue3-ant 有缺点本来是写在最后的,但是博文写的似乎有点太长了,估计大家没时间往下看,于是就把有缺点写在前面了,不喜 ...
- React实战之Ant Design—Upload上传_附件上传
React实战之Ant Design—Upload上传_附件上传 Upload组件大家都在官方文档中看过了,但写的时候还是会遇到许多问题,一些新手看了文档后感觉无从下手,本文过多的简绍就不说了,直接看 ...
- 基于Ant Design UI框架的React项目
概述 这款基于React开发的UI框架,界面非常简洁美观,在这篇文章中我主要为大家介绍一下如何用Ant开始搭建React项目 详细 代码下载:http://www.demodashi.com/demo ...
- React组件库Ant Design的安装与使用
一.什么是 Ant Design 1.Ant Design 提炼自企业级中后台产品的交互语言和视觉风格 2.Ant Design 使用 TypeScript 构建,提供完整的类型定义文件 二.Ant ...
- 基于ant design form的二次封装
// standardForm.js import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; ...
- react ant design TreeNode——树形菜单笔记
2017-12-04补充说明——树形菜单版本号2.x 设置默认该树形组件展开(默认展开所有树节点) 参考文档的写法: defaultExpandAll={true} //经过测试并不生效, 另外注意 ...
- Vue 2.x折腾记 - (17) 基于Ant Design Vue 封装一个配置式的表单组件
前言 写了个类似上篇搜索的封装,但是要考虑的东西更多. 具体业务比展示的代码要复杂,篇幅太长就不引入了. 效果图 2019-04-25 添加了下拉多选的渲染,并搜索默认过滤文本而非值 简化了渲染的子组 ...
- 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。
源码 https://github.com/naturefwvue/nf-vue3-ant 特点 只需要更改meta,既可以切换表单 可以统一修改样式,统一升级,以最小的代价,应对UI的升级.切换,应 ...
- ant Design表单验证笔记
1.pattern正则验证 <Col md={12} sm={24}> <FormItem {...formItemLayout} label="班数"> ...
随机推荐
- golang对象
对象和组合 package main import ( "fmt" ) type father struct { name string sex int } type sun st ...
- Es学习第八课, Filter、bool和范围查询
Filter过滤查询 filter是不计算相关性的,同时可以缓存.因此filter速度快于query. 我们先在kibana上先添加数据来做准备 POST /lib4/items/_bulk { &q ...
- java知识链接
Java内存模型简称jmm: 它定义了一个线程对另一个线程是可见的,另外就是共享变量的概念,因为Java内存模型又叫做共享内存模型,也就是多个线程会同时访问一个变量,这个变量又叫做共享变量, 共享变量 ...
- SQL执行顺序和coalesce以及case when的用法
1.mysql的执行顺序 from on join where group by having select distinct union //UNION 操作符用于合并两个或多个 SELECT ...
- 使用stylelint进行Vue项目样式检查
stylelint是一个强大的现代 CSS 检测器,可以让开发者在样式表中遵循一致的约定和避免错误.拥有超过170条的规则,包括捕捉错误.最佳实践.控制可以使用的语言特性和强制代码风格规范.它支持最新 ...
- TensorFlow学习笔记(一)
光复制几个代码到自己机器上跑是没有用的.要理解!公式理解有困难,就用图片辅助理解! MNIST中数字的表示方法 什么是one-hot? "One-hot" encoding mea ...
- .NET面试题集锦①
一.前言部分 文中的问题及答案多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.面向对象的思想主要包括什么? 答:任何事物都可以理解为对象,其主要特征: 继承.封装.多态.特点:代码好维护,安 ...
- 【leetcode】878. Nth Magical Number
题目如下: 解题思路:本题求的是第N个Magical Number,我们可以很轻松的知道这个数的取值范围 [min(A,B), N*max(A,B)].对于知道上下界求具体数字的题目,可以考虑用二分查 ...
- Oracle12c RAC数据导出至Oracle11g
一.Oracle12c导出数据 1.连接数据库 sqlplus / as sysdba 2.查看pdbs show pdbs; 3.切换pdb alter session set container= ...
- 【Java】定义Logger为什么要用static和final?
private static final Logger logger= LoggerFactory.getLogger(ShiroConfig.class); (1)出于资源利用的考虑,Logger的 ...