Reactjs aws放大反应。验证器组件-注销按钮

Reactjs aws放大反应。验证器组件-注销按钮,reactjs,amazon-web-services,aws-amplify,Reactjs,Amazon Web Services,Aws Amplify,跟随 从“aws放大反应”导入{Authenticator} 从“aws放大”导入放大; 从“/aws_导出”导入aws_导出; 放大、配置(aws_导出); 常量AppWithAuth=()=>( 从“aws amplify react”导入{Authenticator,SignOut} 常量AppWithAuth=()=>( ) 但注销按钮仍然不可见这可能是因为注销按钮在应用程序之外。它可能已呈现,但由于CSS布局而不可见 注意:在本教程中,SignOut按钮位于Navigator上,

跟随

从“aws放大反应”导入{Authenticator}
从“aws放大”导入放大;
从“/aws_导出”导入aws_导出;
放大、配置(aws_导出);
常量AppWithAuth=()=>(

从“aws amplify react”导入{Authenticator,SignOut}
常量AppWithAuth=()=>(
)

但注销按钮仍然不可见

这可能是因为
注销
按钮在
应用程序
之外。它可能已呈现,但由于CSS布局而不可见

注意:在本教程中,
SignOut
按钮位于
Navigator
上,它位于
App


顺便说一句,您不必将
SignOut
按钮包装在
Authenticator
中。将其置于任何位置,然后在
Auth.currentAuthenticatedUser()结果上显示/隐藏base。

这将不使用SignOut组件,而是注销的另一种方式。您需要创建自己的SignOut按钮

这是从 因此,在Navbar或任何您想要创建注销按钮的地方,您都可以添加:

  signOut = () => {
    Auth.signOut()
    .then(data => console.log(data))
    .catch(err => console.log(err));
  }

  // Then in your render method.
  <button onClick={this.signOut} className="signOutButton">SignOut</button>
false在这里表示没有sigOut按钮。如果使用true尝试,则会得到默认的sigOut按钮

之后,您可以根据自己的喜好设置按钮的样式。
希望这有帮助!

让它可见的最基本css是什么?我只是在猜测。使用web浏览器的“检查”工具可能会找到dom元素。另一个可能的原因是您尚未处于
signedIn
状态。通常在登录后会出现“确认登录”状态,用户需要提供从SMS接收到的确认代码。是否也要检查此状态?在您的代码中也要
import{Logger}从“aws amplify”
开始,然后从
Logger.LOG\u LEVEL='DEBUG'
可以在浏览器控制台中为您提供更多信息。
import { Authenticator , SignOut} from 'aws-amplify-react'

const AppWithAuth = () => (
    <Authenticator>
        <SignOut />
            <App/>
    </Authenticator>
)
  signOut = () => {
    Auth.signOut()
    .then(data => console.log(data))
    .catch(err => console.log(err));
  }

  // Then in your render method.
  <button onClick={this.signOut} className="signOutButton">SignOut</button>
import React, { Component } from "react";
import { withAuthenticator } from "aws-amplify-react";
class App extends Component {
     ...
}
export default withAuthenticator(App, false);