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?

Relaterade artiklar