react学习

178 阅读2分钟

(一)、react的特点

1. 声明式设计-React采用声明范式,可以轻松描述应用

2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。

3.灵活 −React可以与已知的库或框架很好地配合。

4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。

5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。

6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

(二)、react

1、项目结构下载

npm install -g create-react-app //创建项目
create-react-app todomvc(项目名)
cd todomvc  //进入目录
npm run start  //启动项目
npm run build  //打包
npm run eject  //弹出之后可以看到相关依赖的包

pro.ant.design/docs/gettin…

前后端联调如何发送,端口不一致,使用proxy配置转发redux里面使用异步处理数据,渲染页面
axios拦截器,统一loading处理

2、基础知识点总结

(1).在React构建的单页面应用,要想实现页面间的跳转,首先想到的就是使用路由。常用的有2个包可以实现这个需求,那就是react-router和react-router-dom。

**安装:**进入项目目录,使用npm安装react-router-dom

npm install react-router-dom --save-dev //这里可以使用cnpm代替命令

<Provider store={store}>
    <Browserouter>
        <div>
            <Switch>
                <Route path="/login" component={Login}></Route>
                <Route path="/Register" component={Register}></Route>
            </Switch>
        </div>
    </Browserouter>
</Provider>

(2)react的生命周期

constructor()

加载的时候调用一次,可以初始化state

(3)React-redux

React-redux是Redux的官方绑定库。它能够使你的React组件从redux store中读取数据,并且向store分发actions以更新数据。

1、导入redux
import {connect} from 'react-redux'
import {login} from '../../redux/user.redux'

@connect(
    null,
    {login}
)
//点击
handleLogin(){
    this.props.login({user:this.state.user,pwd:this.state.pwd})
}

(4)react路由跳转、传参

1、js跳转(使用this.props.history.push('/child02'))

<button onClick={this.btnFn.bind(this)}>点击</button>

btnFn(){
    this.props.history.push('/child02    ')
}

(三)this指向

1、箭头函数

<InputItem onChange={(v)=>{this.handleChange('user',v)}}>用户</InputItem>

2、bind进行this绑定

//有箭头函数不用改变this指向,没有就不需要
<Button type="primary" onClick={this.handleLogin}>登录</Button>
//使用bind进行绑定this
this.handleLogin=this.handleLogin.bind(this)