Problème Nextjs - Les enfants de propriété n'existent pas sur le type {}
P粉658954914
2023-08-16 20:20:47
<p>J'utilise React et Next.js, ci-dessous mon code, il renvoie une erreur sur l'attribut <code>children</code>, le message d'erreur est <strong>Property children in type {} n'existe pas</strong></p>
<pre class="brush:php;toolbar:false;">importer { NextPage } depuis "suivant" ;
importer { createContext, useContext, useReducer, Dispatch } depuis "react" ;
importer { GlobalStatesType } depuis "../types" ;
importer un réducteur, { ActionType, initialState } depuis "../reducers" ;
export const StateContext = createContext<{
états : GlobalStatesType ;
répartition : répartition<ActionType>;
}>({
états : état initial,
expédition : () =>
});
export const StateProvider : NextPage = ({ enfants }) =>
const [states, dispatch] = useReducer(reducer, initialState);
retour (
<StateContext.Provider value={{ states, dispatch }}>
{ enfants }
</StateContext.Provider>
);
} ;
export const useStatesValue = () => useContext(StateContext);</pre>
<p>Comment écrire le code dans le contexte de la prochaine fonction que j'ai importée ? </p>
On dirait que vous utilisez TypeScript et Next.js pour créer un composant de fournisseur de contexte. L'erreur « La propriété 'enfants' n'existe pas sur le type '{}'" que vous rencontrez est probablement due au fait que TypeScript ne reconnaît pas la propriété enfants dans un composant de fonction.
Pour résoudre ce problème, vous pouvez définir explicitement le type d'attribut children dans le composant StateProvider. Voici comment procéder :
En définissant le type StateProviderProps et en l'utilisant pour spécifier le type de la propriété children dans le composant StateProvider, vous ne rencontrerez plus d'erreurs TypeScript liées à la propriété children.