javascript - React 将组件传递为 React

标签 javascript reactjs ecmascript-6

我想将一个组件作为 prop 传递给另一个组件,该组件需要根据用户是否经过身份验证进行更改,在下面的示例中,我的组件正在呈现,但通过导航 prop 传递的组件没有,

import React from 'react';
import { render } from 'react-dom';

import Layout from './core/Layout';

import LoggedInHeader from './core/LoggedInHeader';
import LoggedOutHeader from './core/LoggedOutHeader';

const authenticated = false;

const App = () => (
  <div>
    <Layout navigation={() => authenticated ? <LoggedInHeader /> : <LoggedOutHeader /> } />
  </div>
);

render(<App />, document.getElementById('root'));

如果我这样做,

<Layout navigation={<LoggedInHeader />} />

它工作正常,但我需要向注销的用户显示不同的导航栏。

最佳答案

您不需要操作绑定(bind)()=>{}

就这样吧

 <Layout navigation={ authenticated ? <LoggedInHeader /> : <LoggedOutHeader /> } />

关于javascript - React 将组件传递为 React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45861060/

相关文章:

javascript - 如何从流中获取数据?

ecmascript-6 - 尝试使用 Chrome 导入 ES6,但似乎不起作用

javascript - 如何在不丢失 Typescript 类型的情况下定义选取嵌套属性的 af 函数

javascript - ajax封装请求需要等待累计结果

javascript - 为什么 ajax `application/json` 会运行 PHP 代码两次?

javascript - react 和 Redux : Are there any performance issues/possible side effects with passing a parent component as a prop to its children

javascript - 开 Jest - 语法错误 : React Navigation - Unexpected token export for [node_modules\react-navigation\src\react-navigation. js:1]

javascript - 捕获 execSync 错误

javascript - 全日历中的多个工作时间,每天两类

javascript - npm install 从 package-lock.json 中移除 react router