快速入手 react项目

一、介绍

react 是一个前端框架,模块化,真正强大的不是一个库或者是这个框架,而是这一整个生态,要配置路由有 react-route,要创建动画有spring,framer-motion,要管理状态有Redux,flux,mobX,Recoil,要进行服务端渲染有Next.js,Gatsby。

1.1 搭配的UI框架

二、最佳实践

2.1 创建一个项目
 npx create-react-app my-react
 //如果想创建带ts的项目用
 npx create-react-app my-react-ts --template typescript
2.2 项目介绍

在这里插入图片描述

2.3 构建运行
npm start

在这里插入图片描述

三、组件

3.1 函数组件
function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

此函数是一个有效的React组件,因为它接受单个“props”(代表属性)对象参数与​​数据并返回一个React元素。我们称这些组件为“函数组件”,因为它们实际上是JavaScript函数

但是这种函数组件是无状态的,也就是没办法改变传递的props,这种不需要分配多余的内存,无法访问组件this中的对象

3.2 类组件

React.createClass和React.Component都是创建有状态的组件,这些组件是要被实例化的,并且可以访问组件的生命周期方法

const Contacts = React.createClass({  
  handleClick() {
    console.log(this); // React Component instance
  },
  render() {
    return (
      <div onClick={this.handleClick}></div>
    );
  }
});

React.createClass创建的组件,this会自动绑定,这个this 是有值的

class Contacts extends React.Component {  
  constructor(props) {
    super(props);
  }
  handleClick() {
    console.log(this); // null
  }
  render() {
    return (
      <div onClick={this.handleClick}></div>
    );
  }

React.Component有三种手动绑定方法:可以在构造函数中完成绑定,也可以在调用时使用method.bind(this)来完成绑定,还可以使用arrow function来绑定。是不会自动绑定的。

3.3 hook

类组件功能全而重,函数组件轻量而没有状态、没有生命周期,react提供了钩子(加强版函数组件),组件尽量写成纯函数,如果需要外部功能和副作用,就用钩子把外部代码"钩"进来。不同的功能就用不同的钩子

  • useState() : 状态钩子
  • userContext() :共享状态钩子
  • userReducer() : Action钩子
  • useEffect() :副作用钩子
    一般定义钩子要用use开头,如果自己定义钩子也要用use开头
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值