React on Rails - 如何将登录链接更改为注销链接?

Posted

技术标签:

【中文标题】React on Rails - 如何将登录链接更改为注销链接?【英文标题】:React on Rails - How to change Login Link to Logout Link? 【发布时间】:2017-01-15 00:01:30 【问题描述】:

我正在尝试使用 react 创建 rails 应用程序。我已经使用设计 gem 进行用户管理。我可以登录,但是登录后我想将登录链接更改为注销链接。 以下是我尝试过的:

这是根页面的html.erb文件:

<%= react_component('HomeApp', props: data: @contact_form_props) %>

这是包含标题链接的文件:

const HeaderApp = (props, _railsContext) => 
    const reactComponent = (
        <nav id="mainNav" className="navbar navbar-default navbar-custom navbar-fixed-top faq-container">
            <div className="container">
                <div className="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <div>
                        <ul className="nav navbar-nav navbar-right">
                            <li>
                              <Link href=this.props.path to="">Login</Link>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </nav>
    );
    return reactComponent;
;

登录后希望将登录链接转换为注销。谁能帮我吗。提前谢谢你。

【问题讨论】:

【参考方案1】:

要让它像我们在 ERB 或 HAML 中一样,通过用户状态的道具工作。 我希望这可以帮助你。

= react_component('Header', data: @contact_form_props, userSignedIn: user_signed_in? )


  this.props.userSignedIn ?
   <Link href=this.props.logoutPath to="">Logout</Link>
  :
   <Link href=this.props.loginPath to="">Login</Link>

【讨论】:

感谢您的回答。但我无法在登录后维护设置。你能帮我吗? 当然……有什么可以帮助你的吗? ***.com/questions/39468257/… 在这个链接中我提到了我的问题。可以看看吗? 实际上反应只是像haml或erb这样的视图。所以设计 gem 仍然可以正常工作。你是通过 ajax 登录的,对吧? 能否请您看看我在上述链接中所做的编辑。我已经添加了我的日志文件的输出。

以上是关于React on Rails - 如何将登录链接更改为注销链接?的主要内容,如果未能解决你的问题,请参考以下文章

使用Ruby on Rails的Babel-Transpiler:入门[关闭]

如何使用 react_on_rails 的 Redux API 为商店补充水分?

(React on Rails)引擎“节点”与此模块不兼容。预期版本“...”

如何使用 React on rails 解决代理错误

ruby on rails 路线

React 新手:在未链接的组件之间共享状态