首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是"React.js“的方式吗?

这是"React.js“的方式吗?
EN

Stack Overflow用户
提问于 2016-09-28 11:59:10
回答 1查看 44关注 0票数 0

我从React开始,我尝试创建一个简单的表单,上面写着Hello!

然而,我觉得拥有两个状态元素并不是正确的方法。

有谁知道或者相信有更好的方法吗?

顺便说一句,我知道我可以将名称状态绑定到h2,但我希望它在单击时发生。

代码语言:javascript
复制
    var Name = React.createClass({
                getInitialState:function(){
                    return {
                        inputname:'',
                        h2name:''
                    };
                },
                showName:function(event){
                    event.preventDefault();
                    this.setState({h2name:this.state.inputname}); 
                },
                updateName:function(event){
                    this.setState({inputname:event.target.value});
                }
                ,
                render:function(){
                    return (
                        <div>
                            <form onSubmit={this.showName}>
                                <input onChange={this.updateName} placeholder="Enter your name"></input>
                                <button type="submit">Show</button>
                            </form>
                            <h2>Hello {this.state.h2name}!</h2>
                        </div>
                    );
                }
            });
ReactDOM.render(<Name />,document.getElementById('mount-point'));
EN

回答 1

Stack Overflow用户

发布于 2016-09-28 12:51:34

一个州就够了。

代码语言:javascript
复制
var Name = React.createClass({
    getInitialState: function () {
        return {
            inputname: ''
        };
    },
    showName: function (event) {
        event.preventDefault();
        this.setState({ inputname: this.refs.inputname.value });
    },

    render: function () {
        return (
            <div>
                <input ref="inputname" placeholder="Enter your name"></input>
                <button onClick={this.showName}>Show</button>
                <h2>Hello {this.state.inputname}!</h2>
            </div>
        );
    }
});
ReactDOM.render(<Name />, document.getElementById('root'));

您可以使用“参考资料”获取输入值。我想你想要这个效果,这是演示

这是参考文献多参考文献的文档

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

https://stackoverflow.com/questions/39746830

复制
相关文章

相似问题

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