【发布时间】:2021-01-25 17:18:43
【问题描述】:
我得到了最简单的 ES6 上下文提供程序,但我无法将其转换为用于 TypeScript 项目。我搜索的每个网站在实现上下文 api 方面都有完全不同的看法。
它只是一个布尔变量和一个设置它的函数,我一直遇到 TypeScript 的问题。
我是否需要更改整个方法以使其适用于 TypeScript?
context.js
import React from 'react'
import Reducer from './reducer'
export const LoadContext = React.createContext()
export const LoadProvider = ({ children }) => {
const [state, dispatch] = React.useReducer(Reducer, {
load: true
})
const setLoad = (load) => dispatch({ type: 'set_load', load })
return (
<LoadContext.Provider value={{ load: state.load, setLoad }}>
{children}
</LoadContext.Provider>
)
}
export const useLoadContext = () => React.useContext(LoadContext)
reducer.js
export default (state, action) => {
switch (action.type) {
case 'set_load':
return {
load: action.load
}
default:
return state
}
}
【问题讨论】:
标签: reactjs typescript react-context