useContex使ってstate管理・更新したく作成したのですが、
初回は値が変わらなく、2回クリックすると値が変更され無事に処理ができます。
初回に値が変わらない理由としていろいろ探ってみたのですが、
自分では解決できなかったため、どなたかご教授いただけますでしょうか。
context.provider
import React, { useState } from "react"; export const MainModalContext = React.createContext({ mainModalOpen: () => {}, mainModal: false, }); export const subModalContext = React.createContext(false); const ContextProvider: React.FC = (props) => { const [mainModal, setMainModal] = useState(false); const mainModalOpen = () => { setMainModal(true); console.log(mainModal); }; return ( <MainModalContext.Provider value={{ mainModalOpen, mainModal }}> {props.children} </MainModalContext.Provider> ); }; export default ContextProvider;
クリック後modalOpenが実行され、
useContextで取得したmainModalOpen()が実行されます。
※初回false 2回目true
const { mainModalOpen, mainModal } = useContext(MainModalContext); const modalOpen = (id: string) => { console.log(mainModal); mainModalOpen(); setGetPlansId(id); };
初回から値をtrueに変更したいのですが、
どなたかご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー