javascript - JSX 中的条件链接

标签 javascript reactjs react-router jsx

我正在尝试编写一种有条件地呈现链接的方法。我有以下功能:

const renderLinkIf = (content, condition, href) => {
  if (condition) {
    return (<Link to={href}>{content}</Link>);
  }
  return (content);
};

它可以完成非常简单的任务:

{ renderLinkIf('test', true, '/dashboard') }

但是,我不知道如何呈现更复杂的内容:

{renderLinkIf(
  <span className={sectionCompleted(30) ? 'completed' : null}>
    {sectionCompleted(30) ? <CheckIcon /> : <HeaderPersonalInfo />}
  </span> Personal Info,
  true,
  '/dashboard',
)}

我只是遇到语法错误。

如何通过 renderLinkIf 传递更复杂的 JSX 进行渲染?

最佳答案

我相信你必须包装 <span> 单个元素中的文本个人信息以进行 react 。除此之外,我没有看到任何明显的错误:

{renderLinkIf(
  <span><span className={sectionCompleted(30) ? 'completed' : null}>
    {sectionCompleted(30) ? <CheckIcon /> : <HeaderPersonalInfo />}
  </span> Personal Info</span>,
  true,
  '/dashboard',
)}

关于javascript - JSX 中的条件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381800/

相关文章:

javascript - 为什么 Bootstrap 模式在关闭模式并锚定到页面后删除我的滚动条

reactjs - 我们能否组合不同的 Redux 应用程序来创建一个更大的应用程序?

javascript - React 在父组件中使用 .map 设置所有渲染项的状态

reactjs - 在 Reactjs 中为什么 'history' 未定义错误

javascript - 重定向后无法访问组件中的 this.props.location

javascript - javascript 中变量的范围 - 如果在 for 循环之前声明变量,那么在 for 循环之后不应该访问它的值吗?

JavaScript 结束于()

javascript - preloadedState - session 结果被另一个 reducer 覆盖

reactjs - Redux - 从函数调用 Action

javascript - 警告 : Failed prop type: Invalid prop 'component' supplied to 'Route' - react-router-dom