自定义上下文挂钩 TypeScript
Custom context hook TypeScript
我正在尝试根据这个有趣的方法 todos-many-ways
使用上下文 API 的自定义挂钩
我在将它与数字的简单状态一起使用时遇到错误,理想情况下我会有一个更有意义的 setter 函数,但我只是在设置它时遇到错误。
import * as React from 'react'
const mainState = () => {
const [edit, setEdit] = React.useState<number | null>(null)
return {
edit,
clear: () => setEdit(null)
}
}
const MainContext = () => React.createContext<ReturnType<typeof mainState> | null>(null)
// I get an error on `MainContext`: `...is not assignable to parameter of type 'Context<unknown>`
export const useMainContext = () => React.useContext(MainContext)
export function MainProvider({children}: {children: React.ReactNode}){
return (
<MainContext.Provider value={mainState()}>
{children}
</MainContext.Provider>
)
}
尝试传递值而不是声明函数:
const MainContext = React.createContext<ReturnType<typeof mainState> | null>(null)
我正在尝试根据这个有趣的方法 todos-many-ways
使用上下文 API 的自定义挂钩我在将它与数字的简单状态一起使用时遇到错误,理想情况下我会有一个更有意义的 setter 函数,但我只是在设置它时遇到错误。
import * as React from 'react'
const mainState = () => {
const [edit, setEdit] = React.useState<number | null>(null)
return {
edit,
clear: () => setEdit(null)
}
}
const MainContext = () => React.createContext<ReturnType<typeof mainState> | null>(null)
// I get an error on `MainContext`: `...is not assignable to parameter of type 'Context<unknown>`
export const useMainContext = () => React.useContext(MainContext)
export function MainProvider({children}: {children: React.ReactNode}){
return (
<MainContext.Provider value={mainState()}>
{children}
</MainContext.Provider>
)
}
尝试传递值而不是声明函数:
const MainContext = React.createContext<ReturnType<typeof mainState> | null>(null)