javascript - 从另一个组件 React js 设置状态

标签 javascript reactjs react-router

我在 index.js 中有以下结构:

<MyAppBar // + properties/>
 <Route path={path} component={Login}/>

MyAppBar.js

 class MyAppBar extends React.Component {

state = {
  auth: false,
  anchorElement: null
};

handleLogin(){
  this.setState({auth:true});
}

//another code
//end component

export default withStyles(styles)(MyAppBar)

我想从 Login 组件操作处理程序中将 MyAppBar 状态 auth 标志更新为 true(即handleLogin),但我不知道如何。

我尝试在登录页面上导入MyAppBar(所有组件),但它说

MyAppBar.handleLogin(); 

不是一个函数...谢谢!

谢谢!

最佳答案

我认为对于这个简单的范例,您不需要经历设置 redux 的所有麻烦(我喜欢 Redux,但有时我们不必使用它)

以下是如何使用新的上下文来实现它。

Edit React Hooks

It's farily simple and nice to use. Check it here Let me know if that isn't clear.

关于javascript - 从另一个组件 React js 设置状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52853420/

相关文章:

reactjs - Redux - 分派(dispatch)异步操作时更改 URL

reactjs - 在没有关系的 react 路由或组件之间通信数据

javascript - 淡出背景图像

reactjs - 如何在不重复触发的情况下更新 useEffect 中的卸载处理程序?

reactjs - 如何使用 gatsby 将值传递给 GraphQL 查询并使用react?

reactjs - React + MSAL + React Router 6.4.1(最新版)加载器特性问题

javascript - 确定单击后 JQuery 对话框操作无法正常工作

javascript - Angular JS - 在 ng-init 中声明函数?

javascript - 如何根据选择的 ng-model 值更改 ng-option 值

javascript - 从 React 到 PHP 文件的 Ajax 调用