Jimliu


一只刚上路的前端程序猿


react-props

React中 state核props主要的区别在于props是不可变的,而state可以根据与用户交互来改变。这就是问什么有些容器组件需要定义state来更新和修改数据。而子组件只能通过state来传递数据。

使用Props

var HelloMessage = React.createClass({
      render: function() {
    return <h1>Hello {this.props.name}</h1>;
  }
});

ReactDOM.render(
  <HelloMessage name="Runoob" />,
  document.getElementById('example')
);

默认Props

可以通过getDefaultProps()方法为props设置默认值

var WebSite = React.createClass({
  getInitialState: function() {
    return {
      name: "菜鸟教程",
      site: "http://www.runoob.com"
    };
  },

  render: function() {
    return (
      <div>
        <Name name={this.state.name} />
        <Link site={this.state.site} />
      </div>
    );
  }
});

var Name = React.createClass({
  render: function() {
    return (
      <h1>{this.props.name}</h1>
    );
  }
});

var Link = React.createClass({
  render: function() {
    return (
      <a href={this.props.site}>
        {this.props.site}
      </a>
    );
  }
});

React.render(
  <WebSite />,
  document.getElementById('example')
);

Props验证

Props 验证使用 propTypes,它可以保证我们的应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效。当向 props 传入无效数据时,JavaScript 控制台会抛出警告。
以下实例创建一个 Mytitle 组件,属性 title 是必须的且是字符串,如果是一个数字则会报错 :

var title = "jimliu";
var MyTitle = React.createClass({
    propTypes : {
        title : React.PropTypes.string.isRequired
    },
    render : function () {
        return <h1>{this.props.title}</h1>
    }
});
ReactDOM.render({
    <MyTitle title = {title} />,
    document.getElementById('container');
})
最近的文章

event

事件代理 …

于  javascript 继续阅读
更早的文章

fs模块简单使用

node fs模块简单使用方法首先在项目中安装fs npm install fs 然后在文件中引入 var fs = require(&apos;fs&apos;) 1.打开文件 fs.readFile(&apos;name&apos;,function(err,data){ //参数 na …

于  node 继续阅读