尝试构建一个简单的费用跟踪器,并希望将月度收入状态共享给application...Having中的所有组件设置ContextAPI与我的functional components..any建议我的代码出了什么问题?(codepen告诉我它不能读取属性'props')
function App(){
return(
<ExpenseNumbersProvider>
<div className="flex-container">
<div className="left">
<Input />
<Graph />
</div>
<ExpenseLog />
</div>
</ExpenseNumbersProvider>
)
};function ExpenseNumbersProvider (){
const ExpenseNumbers = createContext();
const [monthly,setMonthly] = useState(0);
return(
<ExpenseNumbers.Provider value={{monthly}}>
{this.props.children}
</ExpenseNumbers.Provider>
)
} 发布于 2021-08-31 00:01:09
您正在功能组件的上下文中使用this。用props.children替换this.props.children ...您还需要将props作为ExpenseNumbersProviders的参数传入
function ExpenseNumbersProvider (props){
const ExpenseNumbers = createContext();
const [monthly,setMonthly] = useState(0);
return(
<ExpenseNumbers.Provider value={{monthly}}>
{props.children}
</ExpenseNumbers.Provider>
)
}https://stackoverflow.com/questions/68991255
复制相似问题