React函数组件

函数组件

内容
1.创建方式
2.函数组件没有state怎么办
3.函数组件没有生命周期怎么办
4.自定义hooks函数

函数组件的创建方式

两种形式
1' 声明一个变量等于箭头函数
const Hello = (props) => {
    
  return <div>{
   props.message}</div>
}
//箭头函数可以缩写
const Hello = props => <div>{
   props.message}</div>

2' 使用function
function Hello(props){
   
  return <div>{
   props.message}</div>
}

消除了this
函数组件能代替Class组件吗?
完全可以,但是目前不行,我们要学些新的东西,比如hooks API

函数组件代替Class组件

面临两个问题
1.函数组件没有state
React v16.8.0推出Hooks API
其中的一个API叫做useState可以解决问题
2.函数组件没有生命周期
React v16.8.0推出Hooks API
其中的一个API叫做useEffect可以解决问题
useEffect(函数式编程的专有名词)是专门用来解决生命周期的问题的。

1.函数组件没有state怎么办?
React提供了useState并提供读、写2个API,可以对数据进行读、写操作。
第1个参数是读,第2个参数是写,初始值为0。
需要引入useEffect或者直接React.useEffect

const App = props => {
    
    const [n, setN] = React.useState(0) 
    const onClick = () => {
   
        setN(n + 1)
    }
    return (
        <div>{
   n}
            <button onClick={
   onClick}> +1 </button>
        </div>
    )
}

函数组件模拟生命周期

什么叫生命周期?
当处于某个阶段时会有提醒要不要做什么事(渲染、挂载、更新、卸载)

用useEffect模拟3个重要的生命周期
一.通过useEffect模拟/实现第一次渲染
细节:useEffect默认每次渲染都会调用(只有1个参数),利用第2个参数[]指明只在第1次渲染时调用该函数。

import React, {
    useEffect } from "react" 
//需要引入useEffect或者直接`React.useEffect`

const App = props => {
   
  const [n, setN] = React.useState(0)
  const onClick = () => {
   
    setN</
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老老老老李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值