React Hooks useContext와 createContext
Para poder hacer uso de este hook de React es necesario implementar 3 sencillos pasos. Lo Primero sería crear un archivo donde vivirá el contexto para toda nuestra aplicación, para este ejemplo lo llamaremos Contexto.jsx.
Hacemos la importación de los hooks a utilizar para este ejemplo
import {createContext,useContext,useState} from 'react'
const Appcontext = createContext({
items:[],
create:()=>{}
})
Dentro estamos nombrando las operaciones que van a vivir dentro del contexto las cuales van a poder ser accedidas desde los otros componentes.
export default function Contexto({children}){
const [items,setItems]= useState([
{
id: 0,
title: 'empezar'
},
{
id:1,
title: 'terminar'
}
])
function create(item){
setItems([...items,item])
}
return(
<AppContext.provider
value={{
items,
create,
}}
>
{children}
</AppContext.provider>
)
}
Va a recibir como prop la palabra children que hace referencia a los hijos que va a contener en este caso la función contexto.
Dentro del mismo archivo que estamos trabajando vamos a crear la función que va a contener los metodos y operaciones que se quieran llevar a cabo y que serán ejecutadas desde los componentes que necesiten acceder a ellas.
Por ultimo en el return hacemos el llamado a para pasar como props la información del componnete y el quien dibujara los elementos contenidos.
export function useAppContext(){
return useContext(Appcontext)
}
Contexto.jsx y envolvemos dentro de este al componente que queramos que tenga acceso a lo establecido dentro de Contexto.jsx, en este caso será el componente Todo
import Todo from './components/Todo'
import {Contexto} from './components/Contexto'
function App() {
const [count, setCount] = useState(0)
return (
<div className="App">
<h2>Provider</h2>
<Contexto>
<Todo/>
</Contexto>
</div>
)
}
export default App
구성 요소 Todo.jsx를 최종적으로 가져오고 useAppContext를 가져오면 컨텍스트를 수정하고 액세스할 수 있습니다.
import Todo from './components/Todo'
import {Contexto} from './components/Contexto'
function App() {
const [count, setCount] = useState(0)
return (
<div className="App">
<h2>Provider</h2>
<Contexto>
<Todo/>
</Contexto>
</div>
)
}
export default App
👽 Espero sea útil esta información, no olvides dejar tu comentario y dar like :)👽
👀👀👀👀También pueden seguirme en tiktok 👀👀👀👀
Reference
이 문제에 관하여(React Hooks useContext와 createContext), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/av952/react-hooks-usecontext-con-createcontext-3g0k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)