React编写文本评论框

一、需求分析

二、代码

 1 <!DOCTYPE html>
 2 <html lang="zh-cn">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>属性和状态实例演示</title>
 6 </head>
 7 <body>
 8     <script src="./react-0.13.2/build/react.js"></script>
 9     <script src="./react-0.13.2/build/JSXTransformer.js"></script>
10     <script type="text/jsx">
11         var Content = React.createClass({
12             getInitialState: function () {
13                 return {
14                     inputText: "",
15                 };
16             },
17             handleChange: function (event) {
18                 this.setState({inputText: event.target.value});
19             },
20             handleSubmit: function () {
21                 console.log("reply To: " + this.props.selectName + "\n" + this.state.inputText);
22             },
23             render: function () {
24                 return <div>
25                 <textarea onChange={this.handleChange} placeholder="please enter something..."></textarea>
26                 <button onClick={this.handleSubmit}>submit</button>
27                 </div>;
28             },
29         });
30         var Comment = React.createClass({
31             getInitialState: function () {
32                 return {
33                     names: ["Tim", "John", "Hank"],
34                     selectName: '',
35                 };
36             },
37             handleSelect: function (event) {
38                 this.setState({selectName: event.target.value});
39             },
40             render: function () {
41                 var options = [];
42                 for (var option in this.state.names) {
43                     options.push(<option value={this.state.names[option]}>{this.state.names[option]}</option>)
44                 };
45                 return <div>
46                 <select onChange={this.handleSelect}>
47                     {options}
48                 </select>
49                 <Content selectName={this.state.selectName}></Content>
50                 </div>;
51             },
52         });
53         React.render(<Comment></Comment>, document.body);
54     </script>
55 </body>
56 </html>

 

三、结果

http://files.cnblogs.com/files/shamgod/React%E5%B1%9E%E6%80%A7%E5%92%8C%E7%8A%B6%E6%80%81%E8%AF%A6%E8%A7%A3.zip

转载于:https://www.cnblogs.com/shamgod/p/5055477.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值