首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在React中,如何将元素作为Prop传递,并在不包装元素的情况下进行渲染?

在React中,如何将元素作为Prop传递,并在不包装元素的情况下进行渲染?
EN

Stack Overflow用户
提问于 2018-01-29 01:11:59
回答 1查看 60关注 0票数 0

我正在使用React 16.2。我有一个组件来呈现一个弹出窗口,它的工作原理如下:

代码语言:javascript
复制
<WindowPopOut
  trigger={<Button>Open Window PopUp</Button>}
  ....
/>

然后..。

代码语言:javascript
复制
class WindowPopOut extends Component {
  ...
  render() { 
    const clonedTrigger = React.cloneElement(trigger, {
      onClick: this.handleTriggerClick,
    });
    return (
      <div>
        {clonedTrigger}
        ...
      </div>
    );
  }
}

问题是它在DOM中的呈现方式如下:

代码语言:javascript
复制
<div><Button>Open Window PopUp</Button></div>

怎样才能让WindowPopOut在没有DIV包装的情况下渲染?因此,组件只需呈现:

代码语言:javascript
复制
<Button>Open Window PopUp</Button>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-29 01:51:10

你有没有试过用React.Fragment包装

代码语言:javascript
复制
return (
  <React.Fragment>
    {clonedTrigger}
    ...
  </React.Fragment>
);

React docs

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

https://stackoverflow.com/questions/48489059

复制
相关文章

相似问题

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