【发布时间】:2016-02-02 08:28:31
【问题描述】:
我是 react 新手,我想知道在这里做我想做的事情的最佳方式。为简单起见,我制作了一个包含 3 个选项卡的页面,该页面使用一个子元素作为每个选项卡的选项卡内容。所以我的代码如下所示:
var MainPage = React.createClass({
getInitialState(){
return { selectedTab: "one" };
},
selectTab(tabname) {
let s = $.extend({}, this.state, { selectedTab: tabname })
this.setState(s);
},
render() {
let oneClassName, twoClassName, threeClassName = "";
let tabContent;
switch (this.state.selectedTab) {
case "one":
oneClassName = "selected";
tabContent = <TabOne />;
break;
case "two":
twoClassName = "selected";
tabContent = <TabTwo />;
break;
case "three":
threeClassName = "selected";
tabContent = <TabThree />;
break;
}
return (
<div className="tabs">
<span onClick={this.selectTab.bind(null, "one")} className={oneClassName}>ONE</span>
<span onClick={this.selectTab.bind(null, "two")} className={twoClassName}>TWO</span>
<span onClick={this.selectTab.bind(null, "three")} className={threeClassName}>THREE</span>
<div className="tabcontent">
{tabContent}
</div>
</div>
);
}
});
在不同的选项卡内(<TabOne />、<TabTwo />、<TabThree />)有一个单独的反应类,它有自己的状态,包括一些输入元素。我的问题是,当我从选项卡切换然后再返回时,选项卡的状态会重置。当我在不同的选项卡之间来回切换时,我希望它保持状态。有人有这样做的好方法吗?
【问题讨论】:
标签: javascript reactjs state