其他分享
首页 > 其他分享> > 开发中的零碎知识点

开发中的零碎知识点

作者:互联网

实习开发

知识点

记录开发中应该注意的一些知识点。

1.get和post

* GET提交
    * 1、一般是从服务器上获取数据
    * 2、提交的数据会出现在地址栏上
    * 3、不安全
    * 4、提交的数据量小,不会超过2KB
    * 5、服务器端是用url.parse(地址, true).query获取变量的值
* post提交
    * 1、一般是向服务器传送数据
    * 2、提交的数据不会出现在地址栏上
    * 3、较安全的
    * 4、提交的数据不限,(没有限制):上传都用POST提交,就不能GET提交
    * 5、服务器端用querystring.parse()获取提交的数据

* 建议使用GET/POST方法的情况
    * 1、GET方式的安全性较POST方式要差些,包含机密信息的话,建议用POST数据提交方式
    * 2、在做数据查询时,建议用GET方式,而在做数据添加、修改或删除时,建议用POST方式
* 只能使用POST
    * 1、无法使用缓存文件(更新服务器上的文件或数据库)
    * 2、向服务器发送大量数据(POST没有数据量限制)
    * 3、发送包含未知字符的用户输入时,POST比GET更稳定也更可靠

在进行实际的开发中,应该根据实际情况选择请求的方式,同时应和后端同学在系分阶段将API确定好。

2.application/json和application/x-www-form-urlencoded区别

application/json和application/x-www-form-urlencoded 都是表单数据发送时的编码类型。
	
EncType:
    enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。
	默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码。
![请求头信息](https://www.icode9.com/i/ll/?i=2021070411132520.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDUyNTY4,size_16,color_FFFFFF,t_70)

在这里插入图片描述

使用json格式,php头部需要加上如下代码,否则会报错:

header('Access-Control-Allow-Headers:x-requested-with,content-type');

3.useRef

useRef 不仅仅是用来管理 DOM ref 的,它还相当于 this , 可以存放任何变量.

useRef可以很好的解决闭包带来的不方便性.你可以在各种库中看到它的身影, 比如 react-use 中的 useInterval , usePrevious ……

注意:当 useRef 的内容发生变化时,它不会通知您。更改.current属性不会导致重新呈现。因为他一直是一个引用 .

4. filter函数

语法:array.filter(callback(currentValue,index,arr), thisValue)
参数:
	currentValue	必须。当前元素的值
	index	   可选。当前元素的索引值
	arr	      可选。当前元素属于的数组对象
	thisValue   可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
				如果省略了 thisValue ,"this" 的值为 "undefined"
返回值:  一个新的、由通过测试的元素组成的数组。如果没有任何元素通过测试,则返回空数组。
		当要过滤的数组是对象数组的时候,修改新返回来的对象数组属性的同时也修改了原来对象数组的属性;
		如果过滤的数组是数组,修改返回来的数组属性,原来数组的属性不会发生改变。

5. form 表单中useForm的使用

useForm中涉及到的几个方法。

6.Modal中嵌套Form表单出现的问题解决

解决antd的Warning: 
Instance created by `useForm` is not connected to any Form element.问题

把form表单放在Modal中,当进入时报的错误,没有挂载到(连接到)这个表单,所以报错。
有很多说使用方法:

Modal 添加属性 getContainer={false} ,挂载在当前 dom。

可是这还解决不了问题,报警告还是一样。
可使用这个api解决 —— forceRender 设置强制渲染给为true

 <Modal
	title="发布"
	visible={visible}
	onOk={handleOk}
	okText="发布"
	cancelText="取消"
	onCancel={handleCancel}
	confirmLoading={confirmLoading}
	forceRender={true}
	>   
                    
	<p>666</p>
 </Modal>

标签:知识点,form,零碎,表单,application,json,开发,数组,POST
来源: https://blog.csdn.net/qq_45052568/article/details/118459436