React入门第二天(函数式组件实现数据响应式,生命周期的监听)

Posted 岁月可贵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React入门第二天(函数式组件实现数据响应式,生命周期的监听)相关的知识,希望对你有一定的参考价值。

数据响应式

由于函数式组件没有 this 指向,导致无法获取到 setState,无法实现数据动态化

import React from 'react'
import  useState  from 'react'
export default function App4() 
    // Hook 只能用在组件函数中的最顶层
    const [num1, setNum1] = useState(1);
    const [num2, setNum2] = useState(1);
    return (
       <>
          <h2>num1</h2>
          <button onClick=() => setNum1(num1 + 1)>修改值</button>
          <hr />
          <h2>num2</h2>
          <button onClick=() => setNum2(num2 + 1)>修改值</button>
      </>
    )

模拟 挂载完成mounted数据更新update销毁前 beforeDestroy(利用 hooks)

hooks 出现在函数式组件,函数式组件并没有生命周期函数。而类组件有生命周期函数

  • 挂载完成mounted
import React from 'react'
import  useEffect  from 'react'
export default function App() 
   // Hook 只能用在组件函数中的最顶层 
   useEffect(() => 
    // 这里主要用于发送 axios 请求
    console.log("挂载完成")
  )

  • 数据更新update
// 数据更新update
import React from 'react'
import  useState, useEffect  from 'react'
export default function App() 
  const [num1, setNum1] = useState(1);
  const [num2, setNum2] = useState(1); 
   // 监听一个数据
   useEffect(() => 
       console.log('num1更新')
   , [num1])
    
   // 监听多个数据
   useEffect(() => 
    console.log('更新')
  , [num1, num2])
    
  // 监听所有
  useEffect(() => 
    console.log('更新')
  )
   
  // 不监听
  useEffect(() => 
    console.log('更新')
  , [])

  • 销毁前 beforeDestroy
import React from 'react'
import  useEffect  from 'react'
export default function App() 
  useEffect(()=>
      return () => 
        console.log('销毁阶段');
      
  )

以上是关于React入门第二天(函数式组件实现数据响应式,生命周期的监听)的主要内容,如果未能解决你的问题,请参考以下文章

响应式布局新方案:融合响应式设计,开源 React 组件

Oracle入门第二天(下)——单行函数

开源 React 组件(融合响应式设计)现已发布!

Android入门第53天-在Android手机里使用SQLite内嵌式数据库

python入门第十六天__列表生成式

极智开发 | React 函数式组件 和 类式组件