6、react中的交互
1.ajax
再react中使用ajax和直接使用ajax的用法是完全一样的,只要找好路径即可,但是也有不一样的地方,再react中是通过改变状态state来达到让组件重新渲染的效果,并且放ajax的钩子函数一般会放在实例化期的componentDidMount中,因为再这个时候真实已经渲染完成了(再写的时候数据请求过来之后直接让请求回来的数据加载到DOM中)不管是同源也好还是跨域也好都可以使用ajax来完成实现
$.ajax({
url:"",
type:"get",
data:{"name":namea},
dataType:"json",
success:function(rel){
alert(rel.data.name)
this.setState({
name:rel
})
// console.log(rel)
}.bind(this), //注意点 需要用bind(this) 找到当前组件中的this
error:function(){ console.log("error") } // })
2.fetch
1、fetch:时基于原生得XMLHtppRequest对象来实现得数据请求,同时fetch也是基于Promise对象实现调用得
fetch得本质就是实现ajax得封装和pormise得实现
fetch再请求数据之后会返回一个Promise对象,对于Promise对象来说,它有成功resolve和失败reject两个结果,只要有返回数据得话那么Promise就返回得时resolve,只有再网络错误或请求被阻止得话才会返回reject
因为fetch返回得是一个promise对象,对于Promise对象来说再处理返回得数据得时候使用得是then方法进行处理得,所以对于fetch来说也是用得是then方法对数据进行处理得
2、fetch需要配置得参数:
url:请求得路径
method:请求方式
dataType:返回得数据类型
body:提交得数据,需要使用JSON.stringify()转化成json格式得字符串
then:回调函数进行处理得
请求回来得数据需要使用json()方法进行解析才能获取这些数据
mode:请求得放式是否跨域
headers:设置得是请求得头部信息
fetch("url",{
method:"get",
dataType:'json',
mode:"cors", //是否可以跨域
headers:{'Content-type':"application/x-www-form-urlencoded"},
//判断的请求头部信息
// body:JSON.stringify({})
}).then((response)=>{ //第个then方法回去得是返回值
return response.json()//使用json ()方法返回得是一个promise对象, 如果想要获
//取当前promise对象中得数据得话,再次需要使用then方法进行处理才
}).then((res)=>{ //获取promise对象中成功或失败返回的数据
this.setState({
name:res
})
console.log(res)
})
6、react中的交互的更多相关文章
- React中ref的使用方法
React中ref的使用方法 在react典型的数据流中,props传递是父子组件交互的唯一方式:通过传递一个新的props值来使子组件重新re-render,从而达到父子组件通信.当然,就像reac ...
- react系列(五)在React中使用Redux
上一篇展示了Redux的基本使用,可以看到Redux非常简单易用,不限于React,也可以在Angular.Vue等框架中使用,只要需要Redux的设计思想的地方,就可以使用它. 这篇主要讲解在Rea ...
- React中state与props介绍与比较
一.state 1.state的作用 state是React中组件的一个对象.React把用户界面当做是状态机,想象它有不同的状态然后渲染这些状态,可以轻松让用户界面与数据保持一致. React中,更 ...
- 前端MVVM模式及其在Vue和React中的体现
MVVM相关概念 Mvvm 前端数据流框架精讲 1) MVVM典型特点是有四个概念:Model.View.ViewModel.绑定器.MVVM可以是单向绑定也可以是双向绑定甚至是不绑定 2) 绑定器: ...
- react中使用redux简易案例讲解
为什么我想要使用redux? 前段时间初步上手了react,最近在使用react的过程中发现对于组件之间通信的需求比较迫切,尤其是在axios异步请求后端数据的时候,这样的需求是特别强烈的!举个例子: ...
- 【React】377- 实现 React 中的状态自动保存
点击上方"前端自习课"关注,学习起来~ 作者:陈俊宇 https://github.com/CJY0208 什么是状态保存? 假设有下述场景: 移动端中,用户访问了一个列表页,上拉 ...
- 【译】在React中实现条件渲染的7种方法
原文地址:https://scotch.io/tutorials/7-ways-to-implement-conditional-rendering-in-react-applications 借助R ...
- Three.js 快速上手以及在 React 中运用[转]
https://juejin.im/post/5ca22692f265da30a53d6656 github 的地址 欢迎 star! 之前项目中用到了 3D 模型演示的问题,整理了一下之前学习总结以 ...
- 关于react中遇到的问题记录说明
5.el表达式 dataSource = (userPage, orgList) => userPage.map(item => { const org = orgList.find(or ...
随机推荐
- Spring Boot 教程 (4) - swagger-ui
Spring Boot 教程 - swagger-ui 1. 什么是Swagger? Swagger™的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到 ...
- 纯python自研接口自动化脚本更新版本,让小白也能实现0到1万+的接口自动化用例
查看完整文章点击原文链接:纯python自研接口自动化脚本更新版本,让小白也能实现0到1万+的接口自动化用例 你是否还在用postman\jmeter做接口自动化吗?用python的开源框架[unit ...
- 【Linux】Linux常用操作
终端命令格式 command [-options] [parameter]command : 命令名,相应功能的英文单词或单词的缩写[-options]:选项,可用来对命令进行控制,也可以省略para ...
- PHP实现插入100万条数据优化
第一种方法一条一条执行插入,结果会很慢 <?php header("Content-Type:text/html;charset=utf-8"); date_default_ ...
- SPL常用函数
使用SPL_AUTOLOAD_REGISTER装载类 <?php /** * libs/Test.class.php */ class Test { function __construct() ...
- 解决linux下启动tomcat找不到jdk
在tomcat目录下 vim catalina.sh 头部加入 JAVA_HOME='/root/use/local/java/jdk/';export JAVA_HOME;
- 《计算机网络》课程笔记 (Ch03-运输层)
为运行在不同主机上的应用进程之间提供逻辑通信功能. 将应用层报文切分为块,然后加上运输层首部,形成报文段,交付给网络层. 多路复用与多路分解 将网络层提供的主机到主机交付服务延伸到进程到进程交付服务. ...
- ngnix随笔二
ngnix配置文件 1.rpm -ql nginx /etc/logrotate.d/nginx /etc/nginx /etc/nginx/conf.d /etc/nginx/conf.d/defa ...
- element-ui上传组件,通过自定义请求上传文件
记录使用element-ui上传组件,通过自定义请求上传文件需要注意的地方. <el-upload ref="uploadMutiple" :auto-upload=&quo ...
- Servlet配置及生命周期
1.设置Ecilipse快捷 file new 2.创建Servlet程序 1). 创建一个 Servlet 接口的实现类. public class HelloServl ...