首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ReactJS createElement输出不带JSX的createElement

使用ReactJS createElement输出不带JSX的createElement
EN

Stack Overflow用户
提问于 2018-04-17 12:46:37
回答 1查看 1.1K关注 0票数 0

我试图在ReactJS中创建这段没有JSX的代码。

代码语言:javascript
复制
<li>
  <a href="javascript:;" onClick={onClick ? this.handleClick : null}>
    <div className="home-gallery" style={{background: `url(${photo})`}}/>
  </a>
</li>

原因是改变了组件中以前的代码,而这些代码并不完全符合我的需要。我读了一些其他的帖子,但它远没有起作用。

代码语言:javascript
复制
_createClass(Photo, [{
 key: 'handleClick',
  value: function handleClick(event) {
   var _props = this.props,
      onClick = _props.onClick,
        index = _props.index,
        photo = _props.photo;

      onClick(event, { photo: photo, index: index });
  }
}, {
    key: 'render',
    value: function render() {
      var _props2 = this.props,
            photo = _props2.photo,
          onClick = _props2.onClick,
           margin = _props2.margin;

      var imgStyle = { background: `url(${photo})`, margin: margin };
      return 

      _react2.default.createElement('li', null,
        _react2.default.createElement('a', _extends({
          onClick: onClick ? this.handleClick : null
        },
          _react2.default.createElement('div', _extends({
            style: onClick ? _extends({}, imgStyle, imgWithClick) : imgStyle
          }))
        ))
      )
  }}]);

有人能指点我解决这个问题的方向吗?或者告诉我如何最好地了解我做错了什么。

更新

我还没有计算出我的大部分查询修改到,但background: 'url(${photo})'仍然没有产生,而边际是。

代码语言:javascript
复制
var imgStyle = { background: `url(${photo})`, margin: margin };

      return _react2.default.createElement(
        "li",
        null,
        _react2.default.createElement(
          "a",
          { href: "javascript:;", onClick: onClick ? this.handleClick : null },
          _react2.default.createElement("div", { className: "home-gallery", style: onClick ? _extends({}, imgStyle) : imgStyle })
        )
      );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-17 13:28:46

好的,我是用在线Babel编译器来解决这个问题的。加入JSX提供了一个输出,引导我找到解决方案。

代码语言:javascript
复制
var imgStyle = { backgroundImage: 'url(' + photo.src + ')', margin: margin };
  console.log(photo)
  return _react2.default.createElement(
    "li",
    null,
    _react2.default.createElement(
      "a",
      { href: "javascript:;", onClick: onClick ? this.handleClick : null },
      _react2.default.createElement("div", { className: "home-gallery", style: onClick ? _extends({}, imgStyle) : imgStyle })
    )
  );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49878569

复制
相关文章

相似问题

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