zoukankan      html  css  js  c++  java
  • [React] React Fundamentals: with-addons

    It can be tedious to type out all the boilerplate needed to get the DOM and states in React to synchronize. Luckily, React provides a version of the toolkit with a selection of available addons. This lesson is going to dig into ReactLink, and how this addon can give you two-way binding.

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>React Lesson 15: dynamically create componenets</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/react.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/JSXTransformer.js"></script>
        <style>
            body {
                margin: 25px;
            }
        </style>
    </head>
    <body>
    <div id="panel"></div>
    <script type="text/jsx">
        /** @jsx React.DOM */
    
        var App = React.createClass({
            getInitialState:function(){
                return {
                    name: '',
                    email: ''
                }
            },
            update: function () {
               this.setState({
                   name: this.refs.name.getDOMNode().value,
                   email: this.refs.email.getDOMNode().value
               })
            },
            render:function(){
                return (
                    <form>
                        <div>
                            <input type="text" ref="name" onChange={this.update} placeholder="Name"/>
                            <label>*{this.state.name}*</label>
                        </div>
                        <div>
                            <input type="text" ref="email" onChange={this.update} placeholder="Email"/>
                            <label>*{this.state.email}*</label>
                        </div>
                    </form>
                );
            }
    
        });
    
        React.render(<App />, document.getElementById('panel'));
    </script>
    </body>
    </html>

    Use addon: ReactLink

    1. include the script:

    script src="https://fb.me/react-with-addons-0.13.3.js"></script>

    2. Add mixin:

    mixins: [React.addons.LinkedStateMixin],

    3. Use valueLink={this.linkState('name')} instead of 'ref' and 'onChange':

    <input valueLink={this.linkState('name')} type="text" placeholder="Name" />

    Code:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>React Lesson 15: dynamically create componenets</title>
        <script src="https://fb.me/react-with-addons-0.13.3.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script>
        <style>
            body {
                margin: 25px;
            }
        </style>
    </head>
    <body>
    <div id="panel"></div>
    <script type="text/jsx">
        /** @jsx React.DOM */
    
        var App = React.createClass({
            mixins: [React.addons.LinkedStateMixin],
            getInitialState:function(){
                return {
                    name: '',
                    email: ''
                }
            },
            render:function(){
                return (
                    <form>
                        <div>
                            <input valueLink={this.linkState('name')} type="text" placeholder="Name" />
                            <label>*{this.state.name}*</label>
                        </div>
                        <div>
                            <input valueLink={this.linkState('email')} type="text" placeholder="Email" />
                            <label>*{this.state.email}*</label>
                        </div>
                    </form>
                );
            }
    
        });
    
        React.render(<App />, document.getElementById('panel'));
    </script>
    </body>
    </html>
  • 相关阅读:
    我的第一个Python爬虫——谈心得
    python写第一个网页
    科学计算和可视化
    类和正则表达(自动更正,和代数运算)
    图片处理
    jieba
    汉诺塔问题
    Python核心编程(第二版)第十章习题答案
    python官方文档之open()函数的翻译
    python打开文件时提示“File was loaded in the wrong encoding:’UTF-8”根因调查
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4779346.html
Copyright © 2011-2022 走看看