React入门useState,useRef,useContent等API讲解

useState


语法:
const [n, setN] = React.useState(0);ide

0是n的默认值,setN是操做n的函数

setN:函数

  1. 咱们觉得setN会改变n,可是事实每每出乎意料,n并不会变,他是将改变后的数据存到一个数据里面(具体在哪里咱们先定为x),而不是直接赋值去改变n
  2. setN必定会触发组件的从新渲染

useState:code

  1. useState确定会从x那里,读取到n的最新值

x:作用域

  1. 每一个组件都有本身的x,这个x咱们命名为state

useRef


语法:io

const nRef = React.useRef(0);
nRef.current(表示当前的值)

nRef.current:function

  1. 当值改变了不会从新render

useContext


const themeContext = React.createContext(null);

function App() {
  const [theme, setTheme] = React.useState("red");
  return (
    // themeContext.Provider 建立一个局部做用域
    // 其中里面的全部组件均可以使用setTheme这个函数
    <themeContext.Provider value={{ theme, setTheme }}>
      <div className={`App ${theme}`}>
        <p>{theme}</p>
        <div>
          <ChildA />
        </div>
        <div>
          <ChildB />
        </div>
      </div>
    </themeContext.Provider>
  );
}

function ChildA() {
  // ChildA这个子组件内部想使用父组件setTheme函数的方式
  const { setTheme } = React.useContext(themeContext);
  return (
    <div>
      <button onClick={() => setTheme("red")}>red</button>
    </div>
  );
}
相关文章
相关标签/搜索