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 ...
随机推荐
- javaScript ES7 ES8 ES9 ES10新特性
参考文献: https://tuobaye.com/2018/11/27/%E7%BB%86%E8%A7%A3JavaScript-ES7-ES8-ES9-%E6%96%B0%E7%89%B9%E6% ...
- IE8/IE9/IE10打开网页后,自动设置浏览器模式为“IE8/IE9/IE10兼容性视图”
http://blog.snsgou.com/post-16.html 作者:SNSGOU 发布于:2013-07-17 22:23:05 分类:CSS/HTML 评论(0) 浏览(132 ...
- Flask开发技巧之异常处理
Flask开发技巧之异常处理 目录 Flask开发技巧之异常处理 1.Flask内置异常处理 2.HTTPException类分析 3.自定义异常处理类 4.方便的定义自己的错误类 5.注意事项 本人 ...
- hdu3861他的子问题是poj2762二分匹配+Tarjan+有向图拆点 其实就是求DAG的最小覆盖点
The King’s Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- .NET Core HttpClientFactory+Consul实现服务发现
前言 上篇文章.NET Core HttpClient+Consul实现服务发现提到过,HttpClient存在套接字延迟释放的问题,高并发情况导致端口号被耗尽引起服务器拒绝服务的问题.好在微软意识到 ...
- MySQL知识-MySQL同版本多实例的配置
MySQL多实例的配置 1. 创建需要目录 [root@db01 ~]# rm -rf /data/330{7..9}/data/*[root@db01 ~]# rm -rf /binlog/330{ ...
- 使用OS模块来获取文件路径
1.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 2.常用方法 os.getcwd() 函数得到当前工作目录,即当前Pyth ...
- spring设计模式之applicationContext.getBean("beanName")思想
1.背景 在实际开发中我们会经常遇到不同的业务类型对应不同的业务处理,而这个业务类型又是经常变动的; 比如说,我们在做支付业务的时候,可能刚开始需要实现支付宝支付和微信支付,那么代码逻辑可能如下 /* ...
- Java集合(八)哈希表及哈希函数的实现方式
Java集合(八)哈希表及哈希函数的实现方式 一.哈希表 非哈希表的特点:关键字在表中的位置和它之间不存在一个确定的关系,查找的过程为给定值一次和各个关键字进行比较,查找的效率取决于和给定值进行比较的 ...
- 08 . Python3高阶函数之迭代器、装饰器
Python3高阶函数之迭代器.装饰器 列表生成式 推导式就是构建比较有规律的列表,生成器. 孩子,我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里 ...