React函數(shù)式組件Hook中的useState函數(shù)的詳細(xì)解析
前言
公司項目需要使用react,而函數(shù)式組件也是官方比較推薦的?。?!所以學(xué)習(xí)hooks是很重要的。
一、什么是函數(shù)式組件
純函數(shù)組件有以下特點:
- 沒有狀態(tài)
- 沒有生命周期
- 沒有 this
因存在如上特點,使得純函數(shù)組件只能做UI展示的功能, 涉及到狀態(tài)的管理與切換就不得不用到類組件或者redux。 但因為簡單的頁面也是用類組件,同時要繼承一個React實例,使得代碼會顯得很重。
以前我們可以使用class來聲明一個組件,其實使用function也可以定義一個組件:
創(chuàng)建 App1.js :
import React from 'react'
function App1(){
return (
<div>
<h1>函數(shù)式組件</h1>
</div>
)
}
export default App1;備注:
在vscode中,如果安裝過 ES7 React/Redux/GraphQL/React-Native snippets 這個插件,即可直接使用 rfc 快捷鍵敲出以下模板:
import React from 'react';
const App = () => {
return (
<div>
</div>
);
}
export default App;在 index.js 中調(diào)用:
import ReactDOM from 'react-dom'
import App from './App1'
ReactDOM.render(
<App />,
document.getElementById('root')
)二、useState
useState讓函數(shù)組件有了state狀態(tài),可以對狀態(tài)數(shù)據(jù)進(jìn)行讀寫操作
語法:const [變量名,修改變量的方法名] = React.useState(初始值)
修改變量的方法名(setXxx)有兩種寫法:
setXxx(newValue):參數(shù)為非函數(shù)值,直接指定新的狀態(tài)值,內(nèi)部用器覆蓋原來的狀態(tài)值。
setXxx(value => newValue):參數(shù)為函數(shù),接收原本的狀態(tài)值,返回新的狀態(tài)值 ,內(nèi)部用器覆蓋原來的狀態(tài)值。
現(xiàn)在我們改成函數(shù)式編程實現(xiàn)累加案例:
// useState就是hooks提供的一個api
import React, { useState } from 'react'
function App(){
// 這里useState(0)中的0,就是定義num的初始值,setNum是修改num的方法
const [num, setNum] = useState(0);
return (
<div>
<h2>{num}</h2>
<button onClick={()=>{setNum(num+1)}}>點擊加1</button>
</div>
)
}
export default App;到此這篇關(guān)于React函數(shù)式組件Hook中的useState函數(shù)的詳細(xì)解析的文章就介紹到這了,更多相關(guān)React Hook useState函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
React如何使用axios請求數(shù)據(jù)并把數(shù)據(jù)渲染到組件
這篇文章主要介紹了React如何使用axios請求數(shù)據(jù)并把數(shù)據(jù)渲染到組件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
React native ListView 增加頂部下拉刷新和底下點擊刷新示例
這篇文章主要介紹了React native ListView 增加頂部下拉刷新和底下點擊刷新示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
使用React hook實現(xiàn)remember me功能
相信大家在使用 React 寫頁面的時候都遇到過完成 Remember me 的需求吧!本文就將這個需求封裝在一個 React hook 中以供后續(xù)的使用,覺得有用的同學(xué)可以收藏起來以備不時之需,感興趣的小伙伴跟著小編一起來看看吧2024-04-04
關(guān)于React狀態(tài)管理的三個規(guī)則總結(jié)
隨著 JavaScript 單頁應(yīng)用開發(fā)日趨復(fù)雜,JavaScript 需要管理比任何時候都要多的 state (狀態(tài)),這篇文章主要給大家介紹了關(guān)于React狀態(tài)管理的三個規(guī)則,需要的朋友可以參考下2021-07-07

