React Hooks中useContext 分开的父子组件进行传值

React Hooks中useContext 分开的父子组件进行传值

初次学习react-hooks的useContext,网上很多都是把父子组件写到一个文件的例子;今天分享一个把父子组件分开文件写的例子;

  1. 封装的一个公共组件,用于父子组件分别调用:
import { createContext } from "react";
const CommonContext = createContext(null);
export default CommonContext;
  1. 父组件 引入CommonContext公共组件,CommonContext.Provider内包括子组件Child
import React, { useState } from "react";
import CommonContext from "./components/commonContext"  // 关键代码
import Child from "./components/child";
import { Button } from "antd";

const UseContextPage = (props) => {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>点击次数:{count}</p>
      <Button type="primary" onClick={() => {setCount(count+1)}} >Dashed Button</Button>
      <CommonContext.Provider name={count}>  // 关键代码
        <Child />
      </CommonContext.Provider>  // 关键代码
    </div>
  );
};

export default UseContextPage;
  1. 子组件 引入CommonContext公共组件
import React, { useContext } from "react";
import CommonContext from "../commonContext/CommonContext"  // 关键代码

const Child0 = () => {
  const count = useContext(CommonContext)  // 关键代码
  return (
    <div>
      子组件计数:{count}
    </div>
  );
};

export default Child;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值