javascript - 如何将 const reactjs 组件转换为基于类的

标签 javascript reactjs

我想弄清楚如何转换这段代码

const Child = ({ match }) => (
  <div>
    <h3>ID: {match.params.id}</h3>
  </div>
)

像这样进入一个基于类的组件

class Home extends React.Component {

  render() {
      ....
  }
}

普通 const 组件我知道如何转换,但我无法理解如何在基于类的组件中包含 match 参数。

最佳答案

在你的功能组件定义中

const Child = ({ match }) => (
  <div>
    <h3>ID: {match.params.id}</h3>
  </div>
)

参数是传递给 Child 组件的 Prop ,但是当您使用 {match} 时,您只是从所有传递下来的 Prop 中分解 Prop 匹配。

查看此答案:What is the children prop in React component and what PropTypes do

因此,当将您的功能组件转换为类组件时,您可以解构 render 函数中的 prop match,例如

class Child extends React.Component {

  render() {
      var {match} = this.props;
      return (
         <div>
             <h3>ID: {match.params.id}</h3>
           </div>
      )
  }
}

关于javascript - 如何将 const reactjs 组件转换为基于类的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45297329/

相关文章:

javascript - 在 JavaScript 中,有没有办法生成单个变量以在项目中的 .js 文件之间共享?

javascript - 如何使图像缩放到 div 的大小 [ReactJS TS]

ReactJS 重置 componentWillReceiveProps 的 props

javascript - 在 DIV 上设置模糊

javascript - Alexa NodeJS 在语音输出上失败,没有特定错误

javascript - webpack编译后无法访问变量

javascript - React hook 形式用以前的值注册新字段

javascript - 未传递 HTML DOM 日期时间本地值

reactjs - 引入ALB后,出现Mixed Content Error

javascript - 如何在reactjs中的clearInterval()之后重新启动计时器?