You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
880 B

2 years ago
  1. import React from 'react'
  2. // App 为父组件,Son 为子组件
  3. // 函数式的 Son
  4. function SonF(props) {
  5. // props 是一个对象,里面存着通过父组件传入的所有数据
  6. return <div>函数子组件{props.msg}</div>
  7. }
  8. // 类组件的 Son
  9. class SonC extends React.Component {
  10. render() {
  11. return (
  12. // 类组件必须通过 this 关键词去获取,这里的 props 是固定的
  13. <div>类子组件{this.props.msg}</div>
  14. )
  15. }
  16. }
  17. // 类组件的 App
  18. class App extends React.Component {
  19. // 准备数据
  20. state = {
  21. message: 'this is message',
  22. }
  23. render() {
  24. return (
  25. <div>
  26. {/* 在子组件身上绑定属性,属性名可以自定义,保持语义化 */}
  27. <SonF msg={this.state.message} />
  28. {/* msg 是属性 */}
  29. <SonC msg={this.state.message} />
  30. </div>
  31. )
  32. }
  33. }
  34. export default App