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

使用 React 和 Django REST Framework 构建你的网站

在我们最近的工作中,构建网站使用的架构是带有 Django REST Framework(DRF)后端的 React 前端。它们是通过在前端使用 axios(前端库)调用后端 API 来交互的。...我们还使用Redux(前端库)来存储全局的应用程序状态(存在浏览器端)。这是我们首选,因为它允许前后端完全分离。...只要我们提前定义好请求的资源列表(后面单个都简称:endpoint)和返回的数据格式,前端和后端就可以并行的进行开发。...redux-logger redux-persist react-redux $ npm install --save axios react-router-dom lodash 现在,我们先只展示将前端连接后端的主要部分...; } 这段代码使用 axios POST 登录信息到我们的 /auth endpoint,然后将返回的 token dispatch 到我们的 redux store。

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

我是这样在 React 中实践 TDD 编程的

Redux中编写测试听起来肯定有悖直觉。如果你使用Redux,它可能看起来更加复杂。 然而,在添加功能之前编写测试有助于编写更好的代码,因为你预先考虑了将使用的设计模式、体系结构和变量的名称。...基本上,使用Redux,我们想执行CRUD操作。...该文件将包含以下方法和变量: mockNetWorkResponse:在默认实例上创建mock适配器,并模拟到所需端点的任何GET或POST请求; getCreateUserResponse:返回/user.../上POST请求的响应; getUserListResponse: 返回对/user/的GET请求的响应。...我们刚刚使用Redux、thunk和axios mock编写了一些测试 对你来说有点挑战吗?添加诸如删除用户、修改以及检索用户等功能。 结论 在本文中,我们快速介绍了使用Redux的TDD。

1.9K30

Django+Vue项目学习第三篇:使用axios发送get请求,解决跨域问题,调通前后端

通过前两篇,已经把后端和前端的架子搭起来了,并且后端写好方法返回数据 本篇将详细介绍如何使用axios发送get请求,并且解决django+vue的跨域问题 前端页面如下 先分析下我的需求:...3个按钮能绑定同一个事件,通过判断点击了哪个按钮,来区分调用哪个请求; (3)textarea标签展示后台返回的数据; (4)【身份证ID】和【人名】按钮后分别有一个输入框,我需要获取input...使用axios发送get请求(不带参数) 先安装axios,在终端输入安装命令 npm install axios 在create_data()函数中添加axios发送请求的代码, 先实现一个不带参数的...', 'PUT', ] 再访问一下试试,可以正常调用请求得到返回数据 ---- 本篇先到这里,主要说了一下前端如何绑定事件以及利用axios发送一个简单的get请求,并且解决了跨域问题 下一篇继续说下发送...get请求,但是会在请求中携带参数 附上几篇参考的博文: http://www.axios-js.com/docs/#axios-get-url-config https://www.jianshu.com

2.9K20

从源码分析expresskoareduxaxios等中间件的实现方式

处理 Web 请求时,我们常常需要进行验证请求来源、检查登录状态、确定是否有足够权限、打印日志等操作,而这些重复的操作如果写在具体的路由处理函数中,明显会导致代码冗余,这个时候,我们就可以将这些通用的流程抽象为中间件函数...;app.get('/user', (req, res) => res.json({ user: 'andy' }));app.get('/test', (req, res) => res.status...== null) {      fn(h);    }  });};可见InterceptorManager主要是用来保存拦截器,然后提供一些遍历或操作拦截器的方法而已。...使用同一个 cancel token 取消多个请求source.cancel('Operation canceled by the user.')...;也可以使用下面方式var CancelToken = axios.CancelToken;var cancel;axios.get('/user/12345', {  cancelToken: new

1.8K40

Vue,React,微信小程序,快应用,TS 和 Koa 一把梭

拦截器,interceptors.request请求拦截器,interceptors.response响应拦截器 axios baseUrl配置公共请求路径,必须符合http标准的链接,否则设置无效...axios 请求方法,get,post,put,delete等 axios 跨域,withCredentials: true,需要后端支持 css sass,对应嵌套不超过三层,滚动条样式设置,文本两行超出...区别解析原理解析vue-router官网 使用history和hash模式部署服务器有什么问题?问题解析 vuex的辅助函数和基本属性使用的区别?vuex官网 axios原理?...中提供的操作符即可 vue-property-decorator暴露的API API 作用 @Component 注册组件 get 类似vue的computed @Prop,@Emit 组件传值 @...Context,通过ctx访问暴露的方法 ctx方法 request:请求主体;response:响应主体;ctx.cookies.get:获取cookie;ctx.throw:抛出异常 request

3K20

技术分享 | 一步一步学测试平台开发-Vue restful请求

axios 也支持 RESTful 请求调用规范。 promise 是一个用来传递异步操作信息的对象,主要是用来解决回调的问题。 axios介绍 axios 是一个易用、简洁且高效的 HTTP 库。...axios 主要是用于向后台发起请求,或者在请求中做更多可控的功能(比如拦截请求请求伪造等)。它是一个第三方插件,所以使用之前要先安装。...后端接收到前端 SignUp 组件发来的注册请求,需要传递的参数如下图: image1080×601 73.2 KB 创建一个axios实例 可以使用 axios.create() 方法创建一个拥有通用配置的...在路径 src 目录下,新建目录层级如下: src/ api/ http.js http.js 主要是用来编写调用后端请求的地址以及请求的格式。...} } export default user 解析上面的代码: 先定义一个变量 user,然后注册一个 signUp(params) 方法,方法中使用 axios 调用后端的接口服务(使用 GET

96620

一文入门react全家桶

常用的ajax请求库 1.jQuery: 比较重, 如果需要另外引入不建议使用 2.axios: 轻量级, 建议使用 1)封装XmlHttpRequest对象的ajax promise风格 3)可以用在浏览器端和...文档 https://github.com/axios/axios 4.2.2. 相关API 1)GET请求 axios.get('/user?...); }) .catch(function (error) { console.log(error); }); 2)POST请求 axios.post('/user', { firstName...2)注册路由: router.get(path, function(req, res)) 3)工作过程:当node接收到一个请求时, 根据请求路径找到匹配的路由, 调用路由中的函数来处理请求, 返回响应数据...纯函数 1.一类特别的函数: 只要是同样的输入(实参),必定得到同样的输出(返回) 2.必须遵守以下一些约束 1)不得改写参数数据 2)不会产生任何副作用,例如网络请求,输入和输出设备 3)不能调用Date.now

3.4K20

:第十五章 - 传统开发模式下的 axios 使用入门

请求和 delete 请求get 请求和 post 请求是我们最常用的两个方法,一个很常见的使用场景,我们通过 get 请求来搜索数据,通过 post 请求来提交数据。   ...: 'OK', // 后端接口返回的响应 header 信息 headers: {}, // axios 发起的接口请求时的配置信息 config: {}, // 接口响应的请求信息...与 get 请求相似,使用 axios 发起 post 请求也是在 then 回掉方法中获取接口返回值,在 catch 回掉方法中捕获错误信息。...// get 请求 axios({ method: 'get', url: 'http://localhost:5000/api/user' }) // post 请求 axios({ method...例如,当调用接口不成功时,http 响应状态码为 400,同时返回错误信息,我们完全可以在拦截器中进行判断,当所有的接口响应状态码为 400 时,弹出后端返回的错误信息。

1.4K30

面试官:说说React-SSR的原理

React 将返回一个 HTML 字符串。你可以使用此方法在服务端生成 HTML ,并在首次请求时将标记下发,以加快页面加载速度,并允许搜索引擎爬取你的页面以达到 SEO 优化的目的。...兼容异步数据请求在构建企业级项目时, redux 使用就更为复杂,而且实战中我们一般都需要请求后台数据,让我们来改造改造项目,使他成为企业级项目。...actions.js import axios from 'axios';import {CHANGE_USER_LIST} from "....getUserList = (dispatch)=>{ return ()=>{ axios.get('https://reqres.in/api/users').then((res)=>{...注意 这里发送的请求是真实的constants.js export const CHANGE_USER_LIST = 'HOME/CHANGE_USER_LIST';输出常量,定义常量可以保证您在调用时不容易出错

2.2K00

二十分钟秒懂:实现前后端分离开发(vue+element+spring boot+mybatis+MySQL)

后端开发人员则负责编写业务逻辑和数据存储的代码,提供 API 接口供前端调用。 前后端分离开发的优点包括: 提高开发效率:前后端可以并行开发,减少了开发时间。...在这个API中,你可以定义HTTP请求的处理逻辑,比如从数据库中获取数据并返回给前端。         然后,在Vue中,你可以使用Vue提供的axios库来发送HTTP请求,获取后端数据。...你可以在Vue组件中使用axios发送请求,然后将返回的数据渲染到页面上。...在API中定义HTTP请求的处理逻辑,比如从数据库中获取数据并返回给前端。 在Vue中使用axios库发送HTTP请求,获取后端数据。 在Vue组件中将返回的数据渲染到页面上。...> getUsers() { return userService.getUsers(); } } 在Vue中使用axios发送HTTP请求: import axios from

14K105

面试官:说说React-SSR的原理1

React 将返回一个 HTML 字符串。你可以使用此方法在服务端生成 HTML ,并在首次请求时将标记下发,以加快页面加载速度,并允许搜索引擎爬取你的页面以达到 SEO 优化的目的。...兼容异步数据请求在构建企业级项目时, redux 使用就更为复杂,而且实战中我们一般都需要请求后台数据,让我们来改造改造项目,使他成为企业级项目。...actions.js import axios from 'axios';import {CHANGE_USER_LIST} from "....getUserList = (dispatch)=>{ return ()=>{ axios.get('https://reqres.in/api/users').then((res)=>{...注意 这里发送的请求是真实的constants.js export const CHANGE_USER_LIST = 'HOME/CHANGE_USER_LIST';输出常量,定义常量可以保证您在调用时不容易出错

2.2K50

redux-saga_pub culture

在最初的调研中redux-thunk是首先考虑的,redux-thunk是在action作用到reducer之前触发一些业务操作。刚好起到控制层的作用。...拿到后端返回状态 (promise so easy…) 隐藏提示信息 (这个有点难度,不过难不倒我,我给组建加一个控制属性) 更新redux store (dispatch咯。。。)...通知显示层弹起信息框 (dispatch一下变更控制信息框弹起的store) 提交表单 (yield一个promis,yield是javascript generator的语法,稍后有介绍) 拿到后端返回状态.../actionCreators'; import axios from 'axios'; function* getInitList() { try { const res = yield axios.get...call方法 call有些类似Javascript中的call函数, 不同的是它可以接受一个返回promise的函数,使用生成器的方式来把异步变同步。

1.4K10
领券