首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSX内部Javascript内部JSX

JSX内部Javascript内部JSX
EN

Stack Overflow用户
提问于 2018-06-01 03:29:51
回答 5查看 203关注 0票数 1

我正在尝试使用JSX表达式作为另一个JSX表达式的生成体的一部分:

代码语言:javascript
复制
render() {
    return (
      <table>
        {[...Array(5).keys()].map(i => <tr>{
          [...Array(7).keys()].map(j => <td>{
            i * j + (<span>{i + j}</span>)
          }</td>)
        }</tr>)}
      </table>
    )
}

i * j部件正确呈现,但(<span>{i + j}</span>)呈现为[object Object]。我如何修复它,或者我如何让它以另一种方式工作?

EN

回答 5

Stack Overflow用户

发布于 2018-06-01 03:35:11

您不能从{}中返回标记。尝试:

代码语言:javascript
复制
render() {
    return (
      <table>
        {[...Array(5).keys()].map(i => <tr>{
          [...Array(7).keys()].map(j => <td>
            {i * j}
            <span>{i + j}</span>
          </td>)
        }</tr>)}
      </table>
    )
}
票数 1
EN

Stack Overflow用户

发布于 2018-06-01 03:41:50

问题不在于JSX,而在于表达式{i * j + (<span>{i + j}</span>)。该<span>{i + j}</span>部件将转换为对象。实际上,您正在尝试向一个数字追加和对象,结果如下:

1 + {} => 1.toString() + {}.toString() => "1[object Object]"

我不确定您试图呈现的是什么,但是如果您想将i * j部分附加到span中,您需要将它们放在一个数组中,或者只是将i * j封装在大括号中,并将span标记保留在纯JSX中,而不是使用加号运算符。

票数 1
EN

Stack Overflow用户

发布于 2018-06-01 03:33:51

代码语言:javascript
复制
class App extends React.Component{
  render(){
    return (
          <table>
            {[...Array(5).keys()].map(i => (<tr>{[...Array(7).keys()].map(j => (<td>{i*j}<span>{i + j}</span></td>))
            }</tr>))}
          </table>
        )

  }
}


ReactDOM.render(<App />, document.getElementById("app"))
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

将表达式i*j放在{}中,而不是span

代码语言:javascript
复制
render() {
    return (
      <table>
        {[...Array(5).keys()].map(i => <tr>{
          [...Array(7).keys()].map(j => <td>{i * j}<span>{i + j</span</td>)
        }</tr>)}
      </table>
    )
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50631500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档