【问题标题】:React Router <Link> within a Ternary operator在三元运算符中反应路由器 <Link>
【发布时间】:2018-11-19 04:46:57
【问题描述】:

我希望你在 React JSX 中使用以下三元运算符:

<Table.Cell>{`${user.company !== null ?  <Link to={`/companies/${user.company._id}`}>`${user.company.name}`</Link> : '' }`}</Table.Cell>

但我得到以下值显示:[object Object]

当我使用这个三元运算符时,值显示正确:

<Table.Cell>{`${user.company !== null ? `${user.company.name}` : '' }`}</Table.Cell>

当我使用这个没有三元运算符的 JSX 代码时,值也是正确的:

<Table.Cell><Link to={`/companies/${ user.company._id}`}>{user.company.name_company}</Link></Table.Cell>

但是,我想使用条件 React Router Link 标签来创建超链接。在三元运算符中使用其他 HTML 标记时,我遇到了同样的问题。

我做错了什么?

【问题讨论】:

    标签: javascript reactjs react-router jsx ternary-operator


    【解决方案1】:

    您的语法不正确。你应该像这样在 JSX 中重写你的三元检查:

    <Table.Cell>{ user.company !== null ?  <Link to={`/companies/${user.company._id}`}>{user.company.name}</Link> : null }</Table.Cell>
    

    或者你可以这样检查:

    <Table.Cell>{ user.company !== null && <Link to={`/companies/${user.company._id}`}>{user.company.name}</Link> || null }</Table.Cell>
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 1970-01-01
      • 2019-07-19
      • 2018-04-11
      • 2018-03-07
      • 2021-11-07
      • 1970-01-01
      • 2018-01-26
      • 2021-03-02
      相关资源
      最近更新 更多