【发布时间】:2017-02-03 07:20:57
【问题描述】:
我有一个关于 ReactJS 组件的问题。请多多包涵,因为我是 ReactJS 的新手。我一直在弄清楚如何用 ReactJS 做到这一点。这是场景。
场景:
<div>
<button id="download-button">Download as CSV</button> <!-- This is a ReactJS Component -->
<h3>Filters</h3>
<form>
<!--
SOME FILTER FIELDS
-->
<input type="submit" value="Filter" />
</form>
</div>
<div>
<h2>Filtered Search Result</h3>
<div id="result" filters="<?php echo $filters ?>"></div> <!-- This is a ReactJS Component -->
</div>
问题:
在结果组件内部,如果结果为空,我想隐藏下载按钮。我知道如果下载按钮在结果组件中,这很简单。但在这种情况下,我只是不想在结果组件中编写所有不相关的 html 元素,只是为了能够访问这些 html 元素之上的结果按钮。
【问题讨论】:
-
如何将组件的范围渲染到 DOM?您是否对 ReactDOM.render 使用了两个不同的调用?
-
是的,我使用两个不同的调用来渲染。下面是它的样子: src/components/download-button.js
import * as React from "react" export class DownloadButton extends React.Component { render() { return ( <div> <button onClick={this.download.bind(this)}>Download</button> </div> ) } }src/components/search-result.jsimport * as React from "react" export class SearchResult extends React.Component { render() { return ( <div> {this.displayResult()} </div> ) } }
标签: javascript reactjs react-dom