我第一次弄乱React.js,找不到通过click事件在页面上显示或隐藏内容的方法。我没有在页面上加载任何其他库,所以我正在寻找使用React库的本机方法。到目前为止,这就是我所拥有的。当点击事件触发时,我想显示结果div。
var Search= React.createClass({
handleClick: function (event) {
console.log(this.prop);
},
render: function () {
return (
<div className="date-range">
<input type="submit" value="Search" onClick={this.handleClick} />
</div>
);
}
});
var Results = React.createClass({
render: function () {
return (
<div id="results" className="search-results">
Some Results
</div>
);
}
});
React.renderComponent(<Search /> , document.body);
在onClick
回调中,调用状态挂钩的
setter函数以更新状态并重新渲染:
const Search = () => {
const [showResults, setShowResults] = React.useState(false)
const onClick = () => setShowResults(true)
return (
<div>
<input type="submit" value="Search" onClick={onClick} />
{ showResults ? <Results /> : null }
</div>
)
}
const Results = () => (
<div id="results" className="search-results">
Some Results
</div>
)
ReactDOM.render(<Search />, document.querySelector("#container"))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.13.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.13.1/umd/react-dom.production.min.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
JSFiddle
关键是使用来更新点击处理程序中组件的状态setState
。应用状态更改后,将render
使用新状态再次调用该方法:
var Search = React.createClass({
getInitialState: function() {
return { showResults: false };
},
onClick: function() {
this.setState({ showResults: true });
},
render: function() {
return (
<div>
<input type="submit" value="Search" onClick={this.onClick} />
{ this.state.showResults ? <Results /> : null }
</div>
);
}
});
var Results = React.createClass({
render: function() {
return (
<div id="results" className="search-results">
Some Results
</div>
);
}
});
ReactDOM.render( <Search /> , document.getElementById('container'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/15.6.2/react-dom.min.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
JSFiddle
我对React Native非常陌生,我想知道如何隐藏/显示组件 这是我的测试用例: 我有一个组件,我想要的是当输入获得焦点时显示,然后当用户按下取消按钮时隐藏。 我不知道如何“访问”TouchableHighlight组件,以便在我的函数中隐藏/显示它 另外,如何从一开始就隐藏按钮?
问题内容: 按下后如何隐藏“编辑”链接?当我按下编辑键时,是否还可以隐藏“ lorem ipsum”文本? 问题答案:
我正在从命令行用python运行mplfinance。我想隐藏(或不显示)绘图,因为我将绘图另存为一个。jpg。稍后,我将在图像查看器中查看绘图/图形/图像。 问题是,我必须关闭为脚本绘制的每个图像,以便继续定义下一个图。我不想在执行时看到图形,并且必须在脚本循环创建多个图形时关闭每个图像。换句话说就是“火了就忘”。 有没有办法隐藏(或不显示)mplFinance中的情节 谢谢你的帮助。 谢谢,
有没有办法在另一个程序中隐藏窗口或框架?例如,如果你打开了一个Firefox窗口,并且运行了你的程序,那么它会和firefoxFrame一样。setVisible(false),但很明显,我没有对另一个程序框架的引用。然后也许以后,firefoxFrame。setVisible(真)
本文向大家介绍jQuery控制元素隐藏和显示,包括了jQuery控制元素隐藏和显示的使用技巧和注意事项,需要的朋友参考一下 1、jQuery隐藏和显示效果 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: 2、jQuery淡入淡出效果 通过 jQuery,您可以实现元素的淡入淡出效果。 jQuery 拥有下面四种 fade 方法: fadeIn()
我有一个问题隐藏和显示一个元素取决于一个布尔变量在角2。 这是div要显示和隐藏的代码: 变量已“编辑”,并存储在我的组件中: 元素是隐藏的,当saveTodos函数启动时,会显示元素,但3秒钟后,即使变量返回为false,元素也不会隐藏。为什么?