【发布时间】:2021-07-01 10:20:25
【问题描述】:
我有这种 jsx,我想将数值从 SendNumberPage 传递给 CheckNumberPage。
App.js
<EditNumberPage/>
<br/>
<SendNumberPage/>
<br/>
<CheckNumberPage/>
SendNumberPage.js
function onChangeHandler(event) {
setState({
...state,
number: event.target.value
})
}
我尝试使用 React.createContext 但它对我不起作用。请帮忙
sendNumberPage.js
const [state, setState] = useState(
{
number: '+99979787'
}
)
const NumberContext = React.createContext()
return (
<NumberContext.Provider value={state.number}>
<div>
....
....
</div>
</NumberContext.Provider>
)
checkNumberPage.js
const CheckNumberPage = () => {
const value = useContext(NumberContext)
console.log(value)
return (
.......
)
}
控制台显示尝试导入错误:“NumberContext”未从“./SendNumberPage”导出。
【问题讨论】:
-
reactjs.org/docs/lifting-state-up.html。基本上保持
App中的状态并将处理程序和数据传递给您的组件。 -
上下文如何不起作用?
-
我同意提升状态是一种可行的解决方案,但 React Context 也应该可以正常工作。如果您提供更多代码并让我们知道上下文出了什么问题,那就太好了。
标签: javascript reactjs redux