web:framework:react

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
web:framework:react [2023/05/04 16:17] – [Http Wrapper] jcheronweb:framework:react [2024/04/10 09:40] (Version actuelle) jcheron
Ligne 170: Ligne 170:
     }     }
 } }
 +</sxh>
 +
 +==== Contexte ====
 +
 +<sxh ts>
 +'use client';
 +import React, {createContext, ReactNode, useContext, useState} from 'react';
 +
 +
 +interface DemoContextType {
 +    data: number;
 +    setData: (d:number)=>void;
 +}
 +
 +const DemoContext = createContext<DemoContextType | undefined>(undefined);
 +
 +export const demoProvider: React.FC<{ children: ReactNode }> = ({children}) => {
 +    const [data, setData] = useState<number>(0);
 +
 +    return (
 +        <DemoContext.Provider value={{data, setData}}>
 +            {children}
 +        </DemoContext.Provider>
 +    );
 +};
 +
 +export const useDemo = (): DemoContextType => {
 +    const context = useContext(demoContext);
 +    if (!context) {
 +        throw new Error('usedemo must be used within a DemoProvider');
 +    }
 +    return context;
 +};
 </sxh> </sxh>
  
  • web/framework/react.1683209849.txt.gz
  • Dernière modification : il y a 23 mois
  • de jcheron