《React+Redux前端开发实战》—2.2.2 属性(props)

举报
华章计算机 发表于 2019/07/24 23:35:08 2019/07/24
【摘要】 本节书摘来自华章计算机《React+Redux前端开发实战》一书中的第2章,第2.2.2节,作者是徐顺发.

2.2.2  属性(props)

  state是组件内部的状态,那么组件之间如何“通信”呢?这就是props的职责所在了。通俗来说,props就是连接各个组件信息互通的“桥梁”。React本身是单向数据流,所以在props中数据的流向非常直观,并且props是不可改变的。props的值只能从默认属性和父组件中传递过来,如果尝试修改props,React将会报出类型错误的提示。

  props示例应用:

  (源码地址为https://jsfiddle.net/n5u2wwjg/35076/)

  

  function Welcome(props) {

   return <p>Hello, {props.name}</p>

  }

  function App(){

   return (

     <Welcome name='world' /> // 引用Welcome组件,name为该组件的属性

    )

  }

  ReactDOM.render(

      <App />,

  document.querySelector("#app")

   )

  

  上述代码使用了函数定义组件。被渲染的App组件内引用了一个外部组件Welcome,并在该组件内定义了一个名为name的属性,赋值为world。Welcome组件接收到来自父组件的name传递,在界面中展示Hello,World。

  当然,也可以使用class来定义一个组件:

  

  class Welcome extends React.Component{

   render() {

      return <p>Hello, {this.props.name}</p>;

     }

  }

  

  这个Welcome组件与上面函数式声明的组件在React中的效果是一样的。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。