简体   繁体   English

JSX里面的多行JavaScript?

[英]Multi-line JavaScript inside JSX?

Is it possible to write a multiline js code in JSX?是否可以在 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>
);

If you want to do multi-line JavaScript code, you can wrap your JS code with an IIFE , for example:如果你想做多行 JavaScript 代码,你可以用IIFE包装你的 JS 代码,例如:

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

Just in case you don't know, <> & </> are called React fragments, you can use any valid JSX element you want, for example, you can use instead <div> , <b> , <p> or anything like that.万一你不知道, <> & </>被称为 React 片段,你可以使用任何你想要的有效 JSX 元素,例如,你可以使用<div><b><p>或任何东西像那样。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM