当前位置: 首页 > 面试题库 >

如何连接两个JSX片段或变量或字符串和组件(在Reactjs中)?

轩辕实
2023-03-14
问题内容

我知道JSX可能会引起很大的误导,因为它看起来像字符串,而实际上不是,因此,即使我们不是真正在操纵字符串,它也是问题中的“字符串”一词。

这是一个代码示例(显然是错误的):

let line = <Line key={line.client_id} line={line}/>;
if(line.created_at) {
    return <div className="date-line"><strong>{line.created_at}</strong></div> + line;
} else {
    return chat_line;
}

我有一行,在某些情况下,我想在其前面“连接”一些div。正确的语法是什么?我试过括号,方括号和加号…它们似乎都不起作用…

谢谢


问题答案:

使用数组:

let lineComponent = <Line key={line.client_id} line={line}/>;
if (line.created_at) {
  return [
    <div key="date" className="date-line"><strong>{line.created_at}</strong></div>,
    lineComponent,
  ];
} else {
  return chat_line;
}

或使用片段:

import createFragment from "react-addons-create-fragment";

let lineComponent = <Line key={line.client_id} line={line}/>;
if (line.created_at) {
  return createFragment({
    date: <div className="date-line"><strong>{line.created_at}</strong></div>,
    lineComponent: lineComponent,
  });
} else {
  return chat_line;
}

在这两种情况下,您都必须 提供React的密钥 。如果是数组,则直接在元素上设置键。关于片段,您提供key:element对。

注意: render 方法返回时,只能返回单个元素或NULL在这种情况下,提供的示例无效。



 类似资料:
  • 问题内容: 我想知道,将PHP变量插入字符串的正确方法是什么? 这条路: 或者这样: 这两种方法都可以在我的电脑上使用。后者更短,更简单,但是我不确定第一种格式是否更好或是否被认为更合适。 问题答案: 在这两种语法之间,您应该真正选择一种您喜欢的语法:-) 就个人而言,在这种情况下 (可变插值) ,我会采用您的第二个解决方案,我发现它更容易写和读。 结果将是相同的;即使有性能影响,也没关系1。 作

  • 假设我有以下片段: 我希望这段代码能够显示: 这使我认为运算符不适合连接字符串和变量。 您应该如何使用PowerShell来实现这一点?

  • 我试图让一个语句起作用,但由于某些原因,它不起作用。应该很简单。 假设字符串 我的代码是: 两种规格的结果都是1。

  • 问题内容: 我正在使用BASH,但我不知道如何查找子字符串。它一直失败,我有一个字符串(应该是数组吗?) 下面是数据库名称的字符串列表,是答复(这些数据库之一)。以下内容仍然无效: 我也尝试过此方法,但不起作用: 问题答案: LIST=”some string with a substring you want to match” SOURCE=”substring” if echo “$LIST

  • 问题内容: 我正在尝试连接Java中的字符串。为什么这不起作用? 问题答案: 你可以使用运算符来连接字符串: 被隐式转换为。

  • 我正在尝试用Java连接字符串。为什么这不起作用?