react--props

一、react的props用以父组件向子组件传递参数

如下例所示:
1、propTypes用于验证props的类型。
2、getDefaultProps用于设置props的认值。
3、在父组件中通过属性的方式,传递给子组件<SubMessage messages={this.state.subMessages}/>,子组件中使用this.props.messages得到父组件传递的messages值。

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>this</title>
    <script type="text/javascript" src="bower_components/react/react.js"></script>
    <script type="text/javascript" src="bower_components/react/JSXTransformer.js"></script>
</head>
<body>

    <div id="app"></div>

    <script type="text/jsx"> var MessageBox = React.createClass({ getinitialState: function(){ return { subMessages : [ '我会写代码','也会撒娇','老板叫我回去搬砖' ] }; },render: function(){ return ( <div> <SubMessage messages={this.state.subMessages}/> </div> ); } }); var SubMessage = React.createClass({ propTypes:{ messages: React.PropTypes.array.isrequired,},getDefaultProps: function(){ return { messages: ['认的子消息'] }; },render: function(){ var subMsg = []; this.props.messages.forEach(function(val,index){ subMsg.push( <p>码农说:{val}</p> ); }) return ( <div>{subMsg}</div> ); } }); React.render( <MessageBox />,document.getElementById('app') ); </script>
</body>
</html>

二、this.props.children

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>demo2</title>
    <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
    <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
    <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
</head>
<body>
    <div id="app"></div>

    <script type="text/jsx"> var Comp = React.createClass({ render: function(){ console.log( React.Children.map); var childComps = React.Children.map(this.props.children,function(child){ return <li>{child}</li>; }) return ( <ol> {childComps} </ol> ); } }); ReactDOM.render( <Comp> <span>hello</span> <span>nihao</span> </Comp>,document.getElementById('app') ); </script>
</body>
</html>

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...