react: hooks

useState
useState的作用是是变量具有响应式,改变值页面可以同步变化

import { useState, useEffect } from "react";


// 当前状态和一个让你更新它的函数 ;  参数为状态初始值
const [initLoading, setInitLoading] = useState(true);

// 任意地方使用setInitLoading就可以更新这个状态了

useState修改的值不同同步的,所以无法立马拿到它的值,可以通过函数传递新的值

useEffect副作用函数
// 不传会陷入死循环
// 用第二个参数来告诉react只有当这个参数的值发生改变时,才执行我们传的副作用函数(即第一个参数)。
// 当我们第二个参数传一个空数组[]时,相当于只在首次渲染的时候执行

import { useState, useEffect } from 'react';
const [productName, setProductName] = useState(['all']);
const [productOptions, setProductOptions] = useState([]);
const useProductSelect = () => {

// 获取所有历史版本号
  useEffect(() => {
  // 做很多事情,比如发请求,赋值
  	 // 发请求
	 const fetchData = async()=>{
	 const result = await axios(
	  'https://c.com/api/products?date=today',
	 );
	 setProductName(result.data);
  // loading处理、错误处理(网络、服务器错误)
  
  }, [])
   return {productName, productOptions, setProductOptions, setProductName}
}

你可能感兴趣的:(react,react.js,javascript,前端)