首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gem react-rails,我的咖啡风格有什么问题?

gem react-rails,我的咖啡风格有什么问题?
EN

Stack Overflow用户
提问于 2015-12-11 06:08:01
回答 2查看 68关注 0票数 0

这是我第一次尝试使用react。我不明白这是怎么回事..:)

A拥有:

代码语言:javascript
复制
Dislike = React.createClass
  render: ->
    if @props.auth == true
      React.DOM.a
        className: ''
        React.DOM.i
          className: 'fa fa-thumbs-o-down'
          "Dislike (#{@props.num_dislike})"
    else
      React.DOM.i
        className: 'fa fa-thumbs-o-down'
        "Dislike (#{@props.num_dislike})"

Like = React.createClass
  render: ->
    if @props.auth == true
      React.DOM.a
        className: ''
        React.DOM.i className: 'fa fa-thumbs-o-up',
          "Like (#{@props.num_like})"
    else
      React.DOM.i
        className: 'fa fa-thumbs-o-up'
        "Like (#{@props.num_like})"

@LikeBox = React.createClass
  render: ->
    return (
      React.createElement(Dislike, @props)
      React.createElement(Like, @props)
    )

在我看来,有:

代码语言:javascript
复制
= react_component('LikeBox', {auth: current_user.present?,
                                  num_like: 23,
                                  num_dislike: 32,
                                  link_like: like_suggestion_path(suggestion),
                                  link_dislike: dislike_suggestion_path(suggestion)})

当我打开a页的时候:

代码语言:javascript
复制
<div data-react-class="LikeBox" data-react-props="{....}">
  <a class="" data-reactid=".0">
    <i class="fa fa-thumbs-o-up" data-reactid=".0.0">Like (23)</i>
  </a>
</div>

但我的期望是:

代码语言:javascript
复制
<div data-react-class="LikeBox" data-react-props="{....}">
  <a class="" data-reactid=".0">
    <i class="fa fa-thumbs-o-up" data-reactid=".0.0">Like (23)</i>
  </a>
  <a class="" data-reactid=".0">
    <i class="fa fa-thumbs-o-down" data-reactid=".0.0">Dislike (73)</i>
  </a>
</div>

这个区块有什么问题?

代码语言:javascript
复制
@LikeBox = React.createClass
  render: ->
    return (
      React.createElement(Dislike, @props)
      React.createElement(Like, @props)
    )
EN

回答 2

Stack Overflow用户

发布于 2016-01-18 17:32:51

我们可以简单地返回LikeBox的子元素的数组

代码语言:javascript
复制
@LikeBox = React.createClass
  render: ->
    React.DOM.div
    className: 'like-box'
    [
      React.createElement(Dislike, @props)   
      React.createElement(Like, @props)
    ]
票数 1
EN

Stack Overflow用户

发布于 2015-12-11 10:11:28

只有“Like”元素才会在LikeBox中呈现。要使其正常工作,您可以这样做:

代码语言:javascript
复制
@LikeBox = React.createClass
  render: ->
   React.DOM.div
    className: 'like-box'
    React.createElement(Dislike, @props)   
    React.createElement(Like, @props)

在上面的代码中,将呈现一个包含2个子元素的div

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34212642

复制
相关文章

相似问题

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