根据特定元素设置状态

时间:2018-06-30 14:59:55

标签: javascript reactjs ecmascript-6 components state

我有3个链接,我想在元素单击时更改链接的文本,但是会影响那里的所有链接,当我单击链接时,所有链接都更改为back,但是我希望它只是更改的链接,请问我该怎么做

 class Apps extends Component {
constructor(props) {
    super(props);
    // Don't do this!
    this.state = { showing: true, word: false };

}
render() {
    return (
        <div>
         <div className="container">
            <div style={{ display: (this.state.showing ? 'block' : 'none') }}>A Single Page web application
             made with react</div>
         </div>
            <div className="buttons">
                <a href='' ref="login" onClick={this.onclick.bind(this)} >{this.state.word ? 'back' : 'Login'}</a><br/><a href='' onClick={this.onclick.bind(this)}>{this.state.word ? 'back' : 'Signup'}</a><br />
                <a href='' onClick={this.onclick.bind(this)}>{this.state.word ? 'back' : 'Members'}</a>
            </div>

        </div>
    );

}onclick(e){
    e.preventDefault();
    this.setState({showing: !this.state.showing});
    this.setState({word: !this.state.word});
}
};

1 个答案:

答案 0 :(得分:1)

您可以将链接重构为具有各自状态的单独组件。