reactHooks简单入门教程

useState的使用

在reactHooks中useState代替了原本的state,
const [age,setAge]=useState(18)
定义 age的初始值为18
通过setAge修改age的值

import React ,{ useState} from 'react'
function example(){
  const [age,setAge]=useState(18)
  return(
		<div>
			<p>我叫aaa,性别{sex}</p>
			<Button onClick={()=>setAge(age+1)}>年龄加</Button>
		</div>
	)
}
export default example

useEffect的使用

在reactHoooks中如果需要使用生命周期,则要用到useEffect,

import React ,{ useState,useEffect} from 'react'
function example(){
     const [age,setAge]=useState(18)
     useEffect(()=>{
		console.log(1111111)
	})
     return(
		<div>
			<p>我叫aaa,性别{sex}</p>
			<Button onClick={()=>setAge(age+1)}>年龄加</Button>
		</div>
	)
}
export default example

这里的useEffect相当于componentDidMountcomponentDidUpdatecomponentWillUnmount 的组合体。

 	useEffect(()=>{
		console.log(1111111)//组件挂载时触发
		return ()=>{
			console.log('aaaaaaaaaaa')//组件销毁时触发
		}
	},[])

useEffect 可以传第二个参数,一个数组(effect 更新依赖)如 [age], 数组中任意元素的改变会触发组件更新, 如果传一个空数组, 则组件更新不会运行 hooks 函数, 仅仅在 mount 和 unmount 执行相应 hook。

createContext和useContext数组间传参

import React ,{ createContext,useContext} from 'react'
const countContext= createContext();
function Counter(){
	let count = useContext(countContext)
	return(<div>
		<h2>{count}</h2> //count的值显示为0
		</div>)
}
function Component1 (){
	const [cont,setCont]= useState(0)
	return (
			<countContext.Provider value={cont}>
				<Counter/>
			</countContext.Provider>
	)
}
export default Component1

当组件上层最近的 <CountContext.Provider> 更新时,该 Hook 会触发重渲染,并使用最新传递给 CountContext providercontext value 值。

useReducer

function Counter(){
	const [num,dispatch]= useReducer((state,action)=>{
		switch(action){
			case 'sub':
				return state - 1
			case 'add':
				return state + 1
			default:
				return state
		}
	},0)
	return(<div>
		<p>现在的分数是{num}</p>
		<Button onClick={()=>{dispatch('add')}}></Button><Button onClick={()=>{dispatch('sub')}}></Button>
		</div>)
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值