首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用React功能组件实现ContextAPI

尝试使用React功能组件实现ContextAPI
EN

Stack Overflow用户
提问于 2021-08-30 23:23:10
回答 1查看 31关注 0票数 0

尝试构建一个简单的费用跟踪器,并希望将月度收入状态共享给application...Having中的所有组件设置ContextAPI与我的functional components..any建议我的代码出了什么问题?(codepen告诉我它不能读取属性'props')

代码语言:javascript
运行
复制
function App(){
  return(
    <ExpenseNumbersProvider>
      <div className="flex-container">
        <div className="left">
          <Input /> 
          <Graph />
        </div>
        <ExpenseLog />
      </div>
    </ExpenseNumbersProvider>
  )
};
代码语言:javascript
运行
复制
function ExpenseNumbersProvider (){
  const ExpenseNumbers = createContext();
      
  const [monthly,setMonthly] = useState(0);
     
  return(
    <ExpenseNumbers.Provider value={{monthly}}>
      {this.props.children}
    </ExpenseNumbers.Provider>
  )
} 

Codepen链接:https://codepen.io/anthonybp12/pen/JjNqEeG

EN

回答 1

Stack Overflow用户

发布于 2021-08-31 00:01:09

您正在功能组件的上下文中使用this。用props.children替换this.props.children ...您还需要将props作为ExpenseNumbersProviders的参数传入

代码语言:javascript
运行
复制
function ExpenseNumbersProvider (props){
  const ExpenseNumbers = createContext();
  
  const [monthly,setMonthly] = useState(0);
  
  return(
    <ExpenseNumbers.Provider value={{monthly}}>
      {props.children}
    </ExpenseNumbers.Provider>
  )
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68991255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档