在react项目中安装代理中间件

setupProxy.js文件

const { createProxyMiddleware: proxy } = require('http-proxy-middleware')

module.exports = app => {
app.use('/v1', proxy({
target: 'http://localhost:8080',
changeOrigin: true,
pathRewrite: {}
}))
}

App.jsx文件

import React, { Component } from 'react'
import Adduser from './pages/Adduser' export default class App extends Component { render() {
return (
<div>
<Adduser />
</div>
)
} }

index.js文件

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App'; ReactDOM.render(
<App />,
document.getElementById('root')
);

Adduser.jsx文件

import React, { Component } from 'react'
import '../assets/css/bootstrap.min.css'
import axios from 'axios' export default class Adduser extends Component { constructor(props) {
super(props);
this.state = {
// 用户数据源
userinfo: {
username: '',
password: '',
sex: '男',
hobbies: [],
intro: ''
}
} // 建议以后写在这样,性能更好一次
this.setValue = this.setValue.bind(this)
this.dopost = this.dopost.bind(this)
} // 默认处理的string类型 checkbox数组
setValue(evt) {
let value = evt.target.value
let name = evt.target.name
let type = evt.target.type
if ('checkbox' === type) {
// hobbies 数组
let tmpValue = this.state.userinfo[name]
tmpValue.push(value)
this.setState(state => state.userinfo[name] = tmpValue)
} else {
this.setState(state => state.userinfo[name] = value)
}
} // 表单提交
async dopost() {
let userinfo = this.state.userinfo
let data = await axios.post('/v1/api/users',userinfo)
console.log(data)
} render() {
let { userinfo } = this.state
return (
<div className="container">
<form>
<div className="form-group">
<label>账号:
<input type="text" name="username" className="form-control" value={userinfo.username} onChange={this.setValue} />
</label>
</div>
<div className="form-group">
<label>密码:
<input type="text" name="password" className="form-control" value={userinfo.password} onChange={this.setValue} />
</label>
</div>
<div className="form-group">
<div>性别:</div>
<div className="radio">
<label>
<input type="radio" name="sex" value='男' checked={userinfo.sex === '男' ? true : false} onChange={this.setValue} />

</label>
</div>
<div className="radio">
<label>
<input type="radio" name="sex" value='女' checked={userinfo.sex === '女' ? true : false} onChange={this.setValue} />

</label>
</div>
</div>
<div className="form-group">
<div>爱好:</div>
<div className="checkbox">
<label>
<input type="checkbox" name="hobbies" value="写代码" onChange={this.setValue} />写代码
</label>
</div>
<div className="checkbox">
<label>
<input type="checkbox" name="hobbies" value="看书" onChange={this.setValue} />看书
</label>
</div>
<div className="checkbox">
<label>
<input type="checkbox" name="hobbies" value="交友" onChange={this.setValue} />交友
</label>
</div>
</div>
<div className="form-group">
<div>简介</div>
<textarea className="form-control" name="intro" rows="3" value={userinfo.intro} onChange={this.setValue}></textarea>
</div> <button type="button" onClick={this.dopost} className="btn btn-success">添加用户</button>
</form> </div>
)
}
}

REACT 前端界面提交的更多相关文章

  1. 基于SqlSugar的开发框架循序渐进介绍(15)-- 整合代码生成工具进行前端界面的生成

    在前面随笔<基于SqlSugar的开发框架循序渐进介绍(12)-- 拆分页面模块内容为组件,实现分而治之的处理>中我们已经介绍过,对于相关的业务表的界面代码,我们已经尽可能把不同的业务逻辑 ...

  2. Semantic UI – 完全语义化的前端界面开发框架

    Semantic UI 是一个 UI 库,使前端开发更简单,更容易学习.Semantic UI 介绍了许多界面元素.在大多数情况下,只有你需要的元素建立一个自定义的构建可能是最好的. UI 组件分为四 ...

  3. <经验杂谈>前端form提交导出数据

    之前在做列表的是总会遇到一些导出的功能,而在做导出的时候总是习惯于用get的方法将参数放在url上,这样一来就会有很多的弊端,一是url的参数长度有限,遇到有的参数很长的时候就会报错,二是也不太安全. ...

  4. servlet自动获取前端页面提交数据

    servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...

  5. 从前端界面开发谈微信小程序体验

    本文由云+社区发表 作者介绍:练小习,2011年加入搜狐,负责搜狐相册的产品策划与前端开发.2015年后加入腾讯 ISUX (社交用户体验设计部),目前主要负责腾讯云的UI开发工作,专注于人机交互,有 ...

  6. 瑞联科技:Pwp3框架 调用存储过程返还数据集合 到前端界面展示

    一:代码结构: 1:Js 代码结构 2:Java 代码结构 二:前端界面展示效果 为了数据安全性:界面数据做了处理 三:全端代码展示 1:main.vop <html> <head& ...

  7. 【连载】Bootstrap开发漂亮的前端界面之插件开发

    相关文章: 1.<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 3.<Bootstrap开发漂亮的前端界面之自定义 ...

  8. 【连载】Bootstrap开发漂亮的前端界面之自定义右键菜单

    连载: 1<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 网页中的自定义右键菜单越来越普遍,自定义右键菜单可以增强用户体 ...

  9. Django中前端界面实现级联查询

    Django前端界面实现级联查询 一.前端界面中 <span scope="col" colspan="6"> 院系:<select id=& ...

  10. Oracle number类型前端界面和数据库查询不一致 number精度问题

    [发现问题] [问题分析] Ⅰ.在前端界面查询,发现了库存中存在这样的数量值.但是在数据库中查询时显示正常.即6.999999999999997 为 7. Ⅱ.至于这种小数产生,我以为是oracle存 ...

随机推荐

  1. 容器启动流程(containerd 和 runc)

    启动流程 containerd 作为一个 api 服务,提供了一系列的接口供外部调用,比如创建容器.删除容器.创建镜像.删除镜像等等.使用 docker 和 ctr 等工具,都是通过调用 contai ...

  2. 使用Docker搭建MongoDB 5.0版本副本集集群

    1.mongodb集群 首先我们需要了解mongodb的集群模式,mongodb安装分为单机安装和集群安装.集群安装分为:主从复制(Master-Slaver)集群.副本集(Replica Set)集 ...

  3. 力扣585(MySQL)-2016年的投资(中等)

    题目: 写一个查询语句,将 2016 年 (TIV_2016) 所有成功投资的金额加起来,保留 2 位小数. 对于一个投保人,他在 2016 年成功投资的条件是: 他在 2015 年的投保额 (TIV ...

  4. 05_理解MVVM模型

    总结: MVVM模型:         1.M:模型(Model):data中是的数据         2.V:视图(View):模板代码         3.VM:视图模型(ViewModel):V ...

  5. 关于 Data Lake 的概念、架构与应用场景介绍

    数据湖(Data Lake)概念介绍 什么是数据湖(Data Lake)? 数据湖的起源,应该追溯到2010年10月,由 Pentaho 的创始人兼 CTO, James Dixon 所提出,他提出的 ...

  6. 简单、有效、全面的Kubernetes监控方案

    ​简介:近年来,Kubernetes作为众多公司云原生改造的首选容器化编排平台,越来越多的开发和运维工作都围绕Kubernetes展开,保证Kubernetes的稳定性和可用性是最基础的需求,而这其中 ...

  7. Dubbo-Admin 正式支持 3.0 服务治理

    ​简介:Dubbo 相信大家并不陌生,是一款微服务开发框架,它提供了 RPC 通信与微服务治理两大关键能力.大家在日常开发中更多使用的是 Dubbo 提供的 RPC 通信这一部分能力,而对其提供的服务 ...

  8. 慢SQL治理分享

    简介: 这里的慢SQL指的是MySQL慢查询,是运行时间超过long_query_time值的SQL.真实的慢SQL通常会伴随着大量的行扫描.临时文件排序或者频繁的磁盘flush,直接影响就是磁盘IO ...

  9. [Rust] 在 Linux 和 Mac 安装 Rust

      首先,安装 rustup,这是一个 Rust 的安装程序. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo ...

  10. 6、Samba 文件共享服务

    1.Samba 服务基础 SMB(Server Message Block),服务消息块 CIFS(Common Internet File System),通用互联网文件系统 Samba 项目:ht ...