reactjs - React Typescript, Typen '' kan inte tilldelas typen 'null'
Jag har starten på en enkel todo-app med React och TypeScript
Jag skapar ett sammanhang men får ett fel i värdet på innehållsleverantören
<TodoContext.Provider value={contextValue}>{children}</TodoContext.Provider>
för värdet får jag felet
Type '{ todoList: string[]; }' is not assignable to type 'null'.
Vad betyder fel och hur kan jag åtgärda detta Typescript-fel
import { createContext, useContext, useState, ReactChildren, ReactChild } from "react";
interface AuxProps {
children: ReactChild | ReactChildren;
}
const TodoContext = createContext(null)
const intialTodo = ['Learn Context']
const TodoProvider = ({children}:AuxProps) => {
const [todoList, setTodoList] = useState<string[]>(intialTodo)
const contextValue = {
todoList
}
return(
<TodoContext.Provider value={contextValue}>{children}</TodoContext.Provider>
)
}
export const useTodoContext = () => useContext(TodoContext)
export default TodoProvider
Svar #1
För att du skickar bara null. Men kontexten behöver null med typ här på det sättet
const TodoContext = createContext(null as any)
render{
const photosObject = this.context as any
}
Svar #2
Varför tilldelar du null till strängarrayen?
const TodoContext = createContext([])
Fungerar det för ditt fall?
