为什么在2个地方为React上下文指定默认值?



查看当前的useContext()文档,似乎我们可以在两个地方指定上下文的默认值或初始值:

  1. 一旦在createContext()
  2. 或者当我们指定<MyContext.Provider value={value}>时,行尾的value为初始值

(#1的初始值示例在此页中,而#2的初始值示例在开头提到的文档中。甚至在文档中,他们可能在两个地方都这样做:

const ThemeContext = createContext('light');  // ONCE HERE, but some example use `null`
export default function MyApp() {
const [theme, setTheme] = useState('light');
return (
<>
<ThemeContext.Provider value={theme}>  // AND THERE HERE AGAIN, theme is 'light'

)

所以我不确定为什么可以有两个地方,哪一个应该使用?

createContext返回一个上下文对象。组件可以通过将上下文传递给useContext()和"value"是你的useContex中的一个或多个状态。

相关内容

  • 没有找到相关文章

最新更新