【问题标题】:Multi-line JavaScript inside JSX?JSX 中的多行 JavaScript?
【发布时间】:2021-05-13 01:17:26
【问题描述】:

是否可以在 JSX 中编写多行 js 代码?

return (
      <b>{
      const a = props.users.find((user) => user.id === post.userId)
      console.log(a) // I want to console.log
      return a
      }</b>
);

【问题讨论】:

标签: reactjs typescript jsx tslint


【解决方案1】:

如果你想做多行JavaScript代码,你可以用IIFE包裹你的JS代码,例如:

  <>
    {(() => {
      const a = [1, 2, 3].find((el) => el === 2)
      // as much code as you want ...
      // ...
      // ...
      console.log(a)
    })()}
  </>

如果你不知道,&lt;&gt; & &lt;/&gt; 被称为 React 片段,你可以使用任何你想要的有效 JSX 元素,例如,你可以使用 &lt;div&gt;、&lt;b&gt;、@ 987654327@ 或类似名称。

【讨论】:

  • 谢谢,伙计,你真的帮了我很多!
  • 请不要。您如何将代码拉出几行,从标记中提取出来,并且只有return &lt;b&gt;{a}&lt;/b&gt;。
猜你喜欢
  • 1970-01-01
  • 2018-11-10
  • 2019-11-04
  • 2015-05-18
  • 2015-11-15
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
  • 2020-09-06
相关资源
最近更新 更多