美文网首页
useContext

useContext

作者: 一土二月鸟 | 来源:发表于2020-08-15 09:42 被阅读0次
  • props和useContext的区别:useContext可以很方便的跨越多个层级共享state,props需要一层层传递
import React, { useContext } from 'react';
import ReactDOM from 'react-dom';
import { useState } from 'react';

const PersonContext = React.createContext();
const { Provider } = PersonContext;

const Grandson = () => {

  const info = useContext(PersonContext); // 无论隔了多少层级,都可以通过useContext获取到顶层的state

  return (
    <>
      <span>My family name is {info.familyName}. I am grandson. My assets is : {info.income}</span>
    </>
  );

}

const Son = () => {
  return (
    <>
      <span>I am son</span>
      <br />
      <Grandson></Grandson>
    </>
  );
}

const App = () => {

  const [info, setInfo] = useState({
    income: 1000000,
    familyName: 'wang'
  });

  const onClickGrand = () => {
    setInfo(x => ({ 
      ...x,
      income: x.income + 1000
    }));
  }

  return (
    <Provider value={info}>
      <button onClick={onClickGrand}>grandfather</button>
      <br />
      <Son></Son>
    </Provider>
  );
}

ReactDOM.render(<App />, document.getElementById('root'));

相关文章

  • React Hook之useContext的介绍与使用

    useContext const context = useContext(Context);接受一个 conte...

  • react-hooks: useContext

    React的useContext应用场景: 如果需要在组件之间共享状态,可以使用useContext()。 举个?...

  • useContext

    props和useContext的区别:useContext可以很方便的跨越多个层级共享state,props需要...

  • 7.React Hook之useContext的介绍与使用

    React的useContext应用场景: 如果想要组件之间共享状态,可以使用useContext。React 的...

  • react中 useContext 和useReducer的使用

    useContext和useReducer 可以用来减少层级使用, useContext,可以理解为供货商提供一个...

  • useContext

    接收一个 context 对象(React.createContext 的返回值)并返回该 context 的当前...

  • useContext

    上下文 全局变量是全局的上下文 上下文是局部的全局变量 使用方法 const Context = createCo...

  • useContext

    https://dmitripavlutin.com/react-context-and-usecontext/ ...

  • useContext

    constvalue=useContext(MyContext); 接收一个 context 对象(React.c...

  • useContext

    先来看官网解释: 接收一个 context 对象(React.createContext 的返回值)并返回该 co...

网友评论

      本文标题:useContext

      本文链接:https://www.haomeiwen.com/subject/dpgodktx.html