En mi aplicación tengo esto:
const restaurantsArr = [{ name: McDonald, rating: 5 }] const RestaurantContext = createContext(); const [restaurants, setRestaurants] = useState(restaurantsArr); Para Provider , quiero pasar mis variables desestructuradas de useState .
<Provider value={[restaurants, setRestaurants]} /> TS me grita que createContext debe tener valor, pero si mi createContext tiene una matriz vacía, por ejemplo, tengo errores.
¿Cómo debo crear la interfaz ContextProps ?
De hecho, tengo una matriz que contiene otra matriz de objetos y una función.
Estoy luchando con esto por un par de horas y tengo advertencias y errores todo el tiempo...
Ok, entonces tengo esto ahora:
export const RestaurantsContext = createContext<any>([]); interface Props { children: ReactElement; } const RestaurantsProvider: React.FC<Props> = ({children}) => { const [restaurants, setRestaurants] = useState(restaurantsArr) return ( <RestaurantsContext.Provider value={[restaurants, setRestaurants]}> {children} </RestaurantsContext.Provider> ) Pero es solo un paseo con cualquiera en export const RestaurantsContext = createContext<any>([]) .
Lo que quiero hacer es tener algo como:
interface ContextProps { //and something here }Pero, ¿cómo debo escribir [data, setData]? Es una matriz con una matriz de objetos y con la función setState.