【发布时间】:2021-03-03 19:47:09
【问题描述】:
我是 react 新手,我正在尝试制作一个小项目并遇到 react 上下文,因为我发现传递道具很烦人。我遇到了useContext() 挂钩的问题。
我的上下文文件
export function BoardProvider(props){
const [ board, setBoard ] = useState({
id: null,
name: null,
longterm: false,
code: null,
teacher: null,
periodStart: null,
periodEnd: null,
totalDuration: null,
phases: [],
students: []
})
return (
<BoardContext.Provider value={[board, setBoard]}>
{props.children}
</BoardContext.Provider>
)
}
我正在尝试将对象从上下文中保存到这个对象中,如下所示:
const [ board, setBoard ] = useContext(BoardContext);
我正在像这样导入上下文:
import { BoardProvider } from '../../contexts/BoardContext'
错误表明对象不可迭代,所以我假设我在某处声明 board 是一个数组?如果是这样,究竟在哪里以及如何修复the error?
感谢大家提前帮助:)
【问题讨论】:
-
由于这段代码看起来没问题,所以您没有向我们展示某些内容,请尝试在沙盒中创建一个示例,例如 codesandbox.io/s/new?utm_source=dotnew
-
告诉我们你是如何使用
board的 -
不,我没有使用任何地图方法。我在 BoardName 中唯一想做的就是将表单中的数据存储到上下文中。我将整个项目放入 (codesandbox.io/s/modern-meadow-0pklj) 沙箱中,以便您可以看到我想做什么。
标签: reactjs react-context