开发者问题收集
我正在将应用从 Firebase 迁移到 AWS Amplify。我想创建一个 React 上下文,如果用户未登录,它将提供路由保护。例如,我的 Auth.js 文件:import React, { useEffect, useState, createContext } from 'react'import fire from './firebase'export const AuthConte
我有一个 React 上下文,它被用作跨多个组件的提供程序。我想修改该状态并通过完全在 React 组件之外的常规方法更新 UI。即不是功能组件或类,只是一段普通的 JS 代码。据我所知,提供程序/上下文只能从渲染方法或 React.FC 中访问我可以传入一个函数,但似乎只能从夹在<Context.Provider>之间的某种类型的 React 组件传入,并且useContext只有在相关项目传递
我使用 React Context 传递状态并像这样设置状态const [authContext, setAuthData] = useState({isAuthenticated: false,userID:"-1",email:"test",name:"test"});<AuthContext.Provider value={[authContext,setAuthData]}><Router
我正在尝试使用 React 上下文 API,请检查someComponent函数,我在该函数中传递了点击事件(updateName函数),然后从GlobalProvider函数更新state.name值更新state.name后,它将反映在浏览器中,但不会在控制台中获取更新的值(我已在点击函数行下方调用控制台以获取下方的更新值)为什么在控制台中获取不到更新的值,但它在渲染内部(在浏览器上)?示例代
我正在重构一些代码,因为我需要进行的 props 钻取量实在是难以管理,所以我借此机会了解了 Context API,但我只是不明白为什么状态没有按照我预期的方式运行...这是我的上下文文件:import React,{useState, createContext} from 'react';export const MileContext = createContext();export co