首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React学习笔记(三)—— 组件高级

下面了代码,我们用到了数组函数map方法来实现数组每一个值变成2倍,同时返回一个新数组,最后打印出了这个数组: const numbers = [1,2,3,4,5]; const doubled...key值就是指定一个独一无二字符串值来把当前列表元素同兄弟列表元素分离开来。...在React中,select处理方式有所不同,通过在select上定义 value属性来决定哪一个option元素处于选中状态。...创建新状态有以下三种方法: 状态类型是不可变类型(数字、字符串、布尔值、null、undefined):因为状态是不可变类型,所以直接赋一个新值即可 状态类型是数组:可以使用数组concat或者...` 允许在向服务器发送前,修改请求数据 // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法 // 后面数组函数必须返回一个字符串,或 ArrayBuffer,或 Stream

8.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

axios

新建一个react项目 其实没有必要新建,这是我项目的地址:✈️ 我项目是React Hooks项目,我们在pages/Home/index.tsx文件下新写一个请求。...,可以看到这四种方式是没有传入data参数只有url和config,return后面调用request函数中data是config或者是空对象data。...// 它可以通过设置一个 `baseURL` 便于为 axios 实例方法传递相对 URL baseURL: 'https://some-domain.com/api/', // `transformRequest...` 允许在向服务器发送前,修改请求数据 // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法 // 后面数组函数必须返回一个字符串,或 ArrayBuffer,或 Stream...// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH' // 在没有设置 `transformRequest` 时,必须是以下类型之一: // - string, plain

4K10

Axios是什么?用在什么场景?如何使用?

axios 传递相关配置来创建请求,如: // POST axios({ method: 'post', url: '/user/12345', data: { firstName:...// 它可以通过设置一个 `baseURL` 便于为 axios 实例方法传递相对 URL baseURL: 'https://some-domain.com/api/', // `transformRequest...` 允许在向服务器发送前,修改请求数据 // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法 // 后面数组函数必须返回一个字符串,或 ArrayBuffer,或...// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH' // 在没有设置 `transformRequest` 时,必须是以下类型之一: // - string, plain...场景:一个搜索框,每次输入字符都会调用接口,这时候没有办法来知道那个接口数据放回是最后一次,只能取消之前发起相同接口,所以就有了取消接口。

4.6K10

【Groovy】Groovy 方法调用 ( Groovy 构造函数中为成员赋值 | Groovy 函数参数传递与键值参数 | 完整代码示例 )

文章目录 一、Groovy 构造函数中为成员赋值 二、Groovy 函数参数传递与键值参数 三、完整代码示例 一、Groovy 构造函数中为成员赋值 ---- Groovy 类没有定义构造函数 ,...但是可以使用如下形式构造函数 , 为 Groovy 类设置初始值 ; new 类名(成员名1: 成员值1, 成员名2: 成员值2) 顺序随意 : 成员顺序随意 , 没有强制要求 , 只需要 成员名...${student3.age}" 执行结果为 : student : Tom , 18 student2 : Jerry , 16 student3 : Jim , null 二、Groovy 函数参数传递与键值参数...---- 在 Groovy 构造函数中 , 可以使用 成员名1: 成员值1, 成员名2: 成员值2 类型参数 , 这是键值 map 类型集合 ; 但是对于普通函数 , 不能使用上述格式 ,...如果出现 变量名1: 变量值1, 变量名2: 变量值2 样式代码 , 会将上述参数识别为一个 map 集合 ; 定义了一个 Groovy 类 , 其中定义方法接收 2 个参数 ; class Student

9K20

Axios入门与源码解析

(): 添加请求拦截器 axios.interceptors.response.use(): 添加响应拦截器 axios.create([config]): 创建一个新 axios(没有下面的功能)...难点语法理解和使用 1、axios.create(config) 根据指定配置创建一个新 axios, 也就就每个新 axios 都有自己配置 新 axios 只是没有取消请求和批量发请求方法...: defaults/interceptors 不同: (1) 默认配置很可能不一样 (2) instance 没有 axios 后面添加一些方法: create()/CancelToken()/...;charset=utf-8'); return JSON.stringify(data); } 响应转换器: 将响应体 json 字符串解析为 js 对象或数组函数 response.data =...拦截器模拟实现 array.shift()该方法用于把数组第一个元素从其中删除,并返回第一个元素值 思路为先将拦截器响应回调与请求回调都压入一个数组中,之后进行遍历运行 promise = promise.then

2.9K30

Axios 源码解析-完整篇

// 平时调用 get/post 等等请求,底层都是调用 request 方法 // 将 request 方法 this 指向 context(上下文),形成新实例 var instance...return promise; }; 通过对数组遍历,形成一条异步 promise 调用链,是 axios promise 巧妙运用,用一张图表示 拦截器 (lib/core/InterceptorManager.js...forEach: 遍历回调函数,一般内部使用多,比如:promise 调用链那个方法里,循环遍历回调函数,存放到 promise 调用数组中 function InterceptorManager...dispatchRequest 方法,主要做了以下操作: transformRequest: config 中 data 进行加工,比如对 post 请求 data 进行字符串化 (JSON.stringify...() 简洁写法,内部使用 request 函数作为新实例 使用 promsie 链式调用巧妙方法,解决顺序调用问题 数据转换器方法使用数组存放,支持数据多次传输与加工 适配器通过兼容浏览器端和 node

1.1K30

React、TypeScript、NodeJS 和 MongoDB 搭建 Todo App

在这里,我们从 req 中拿到 id,并把作为参数传递给 findByIdAndRemove(),来获取到对应 Todo 并从 DB 中删除。...因为我们已经创建了函数,所以唯一要做就是导入这些方法并将它们作为参数传递。 到目前为止,我们已经谈了很多,但是仍然没有启动服务器。所以,我们在下一节中解决这个问题。...FC (FC 代表函数组件),接收 saveTodo() 方法为 props,该方法允许我们将数据保存到数据库。...然后,我们创建 formData state,需要匹配 ITodo 类型来满足编译器要求。这就是我们将它传递给 useState hook 原因。...然后,我们传递 ITodo 类型数组给 useState 并且把初始化为空数组

17K30

Vue 09.前后端交互

,所有任务完成后才得到结果 Promise.all方法接受一个数组作参数,数组对象(p1、p2、p3)均为promise实例(如果不是一个promise,该项会被用Promise.resolve转换为一个...状态由这三个promise实例决定 .race() 并发处理多个任务,只要有一个完成就会得到结果 Promise.race方法同样接受一个数组作参数。...fetch不是ajax进一步封装,而是原生js,没有使用XMLHttpRequest对象。...中可以设置method、headers、body HTTP协议,给我们提供了很多方法,如POST,GET,DELETE,UPDATE,PATCH和PUT GET // GET参数传递 - 传统URL...} }).then(function(ret){ console.log(ret.data) }) POST // 1 通过选项传递参数,默认传递JOSN格式 axios.post('http:

6K30

怎样刷vue面试题

(只会劫持已经存在属性),数组则是通过重写数组7个方法来实现。...然后继续调用同样被定义为接收单个参数过滤器函数 filterB,将 filterA 结果传递到 filterB 中。...(msg, arg, arg2) { // 字符串 replace 方法,第一个参数,除了可写一个 字符串之外,还可以定义一个正则 return msg.replace(...) }})小结封装是编程中很有意义手段,简单axios封装,就可以让我们可以领略到魅力封装 axios 没有一个绝对标准,只要你封装可以满足你项目需求,并且用起来方便,那就是一个好封装方案...没有的话,仅仅把 this.dirty = true。 (当计算属性依赖于其他数据时,属性并不会立即重新计算,只有之后其他地方需要读取属性时候,才会真正计算,即具备 lazy(懒计算)特性。)

2K50

前端vue面试题2020及答案_c++ 面试题

]): 创建一个新 axios(没有下面的功能) axios.Cancel(): 用于创建取消请求错误对象 axios.CancelToken(): 用于创建取消请求 token 对象 axios.isCancel...”提供了基础 12.GET和POST区别 get参数通过url传递post放在request body中 get请求在url中传递参数是有长度限制,而post没有 post比get更安全,因为...这样每个组件(包括vue.js实例化对象)都将继承该方法对象。定义了get、post方法,可以发送get或者post请求。...router-view 里面,react 是全局组件方式,子组件作为 children 传递到父组件; 7、vue 实现双向绑定,react 没有; 8、vue 父组件更新子组件不会动,react...对象和数组都是引用类型,父组件传递过来是一个地址,子组件修改是地址里面的内容,地址本身并没有变,所以不会报错,但是基础数据类型就不同了,他是直接修改了传递值,但是 vue 不允许在子组件里面直接修改

4.2K10

前端模块化开发--React框架(二):脚手架&&网络请求框架

, 可以引入兼容库fetch.js 3、axios GitHub 安装 shell $ npm install axios 使用 GET方式javascript //使用axios发送异步ajax请求...1)共同数据放在父组件上, 特有的数据放在自己组件内部(state) 2)通过props可以传递一般数据和函数数据, 只能一层一层传递 3)一般数据–>父组件传递数据给子组件–>子组件读取数据 4)...函数数据–>子组件传递数据给父组件–>子组件调用函数 方式二: 使用消息订阅(subscribe)-发布(publish)机制 1)工具库: PubSubJS 2)下载: npm install pubsub-js...‘xxx’ 3)对象简洁表达: {a, b} 4)箭头函数: Code a.常用场景 * 组件自定义方法: xxx = () => {} * 参数匿名函数 b.优点: *...简洁 * 没有自己this,使用引用this查找是外部this 5)扩展(三点)运算符: 拆解对象(const MyProps = {}, ) 6)类:

2.9K20

Fetch还是Axios——哪个更适合HTTP请求?

前端开发最重要部分之一是通过发出 HTTP 请求与后端进行通信,我们有几种方法可以异步地在 Javascript 中进行 API 调用。...如果我们不传递 options,请求总是 GET,它从给定 URL 下载内容。 在选项参数里面,我们可以传递方法或头信息,所以如果我们想使用 POST 方法或其他方法,我们必须使用这个可选数组。...如果你想在函数中使用 POST 方法,那么只需使用 .post() 方法代替,并将请求数据作为参数传递即可。...JSON 如前所述,当我们在使用 .fetch() 方法时候,需要对响应数据使用某种方法,当我们在发送带有请求 body 时,需要对数据进行字符串化。...在 axios 中,它是自动完成,所以我们只需在请求中传递数据或从响应中获取数据。它是自动字符串,所以不需要其他操作。 让我们看看如何从 fetch() 和 axios 获取数据。

4.6K20

React: Hooks入门-手写一个 useAPI

react-hooks 入门 写在最前面 最近项目 升级了react 16.8+,接入了 hooks,这里学习一下最基础几个官方 hooks 下面是官网文档链接,基础知识掌握不牢靠朋友可以再看看...通过使用这个 Hook,你可以告诉 React 组件需要在渲染后执行某些操作。React 会保存你传递函数(我们将它称之为 “effect”),并且在执行 DOM 更新之后调用它。...在这个 effect 中,我们设置了 document title 属性,不过我们也可以执行数据获取或调用其他命令式 API。...当组件上层最近 更新时,该 Hook 会触发重渲染,并使用最新传递给 MyContext provider context value 值。..., useState, useEffect, useContext } from 'react'; import axios from 'axios'; /** * ApiContext 这里可以配置全局

1.7K30

react-query解决你一半状态管理问题

当「状态」需要跨组件层级传递,通常使用Context API。 再大范围「状态」会使用Redux这样「全局状态管理方案」。...例子中userData字符串就是这个query独一无二key。 可以看到,React-Query封装了完整请求中间状态(isLoading、isError...)。...不仅如此,React-Query还为我们做了如下工作: 多个组件请求同一个query时只发出一个请求 缓存数据失效/更新策略(判断缓存合适失效,失效后自动请求数据) 失效数据垃圾清理 数据CRUD由...userData', () => axios.get('/api/user')); // 新增用户 const {mutate} = useMutation(data => axios.post...queryCache.invalidateQueries('userData') } }) // ... } 通过调用mutate方法,会触发请求。

2.6K10
领券