如何在一个组件中定义属性并传递给reactJs中的其他组件?

Gor*_*ath 8 reactjs react-redux

我有一个父组件和一个子组件,我想通过使用{... this.props}将属性从Parent传递给Child,我不想在图片中有任何动作或缩减器,是否可以这样做?

我的孩子组件是这样的: -

import React, { Component } from 'react'
import ReactDOM from 'react-dom'

 class SampleChild extends Component {
   constructor(props) {
     super(props)
   }
  render(){
    return(
      <div>This is Parent</div>
          )
         }
  }

 SampleChild.propTypes={
        Header:React.PropTypes.string.isRequired
 }
 export default SampleChild 
Run Code Online (Sandbox Code Playgroud)

我的父组件是这样的: -

import React, { Component } from 'react'
import ReactDOM from 'react-dom'

class SampleParent extends Component {
  constructor(props) {
    super(props)
  }

  render(){
      return(
          <div><SampleChild {...this.props}/></div>
      )
  }
}
export default SampleParent
Run Code Online (Sandbox Code Playgroud)

现在我如何将SampleParent组件中的Header属性传递给SampleChild?请帮助我.

Hen*_*son 6

<SampleParent Header="Hello from Parent" />
Run Code Online (Sandbox Code Playgroud)

会做的伎俩给你,因为你是从传播来的所有道具SampleParentSampleChild你需要确保的SampleParent只是接收它作为一个道具,如果它是动态的.

如果它是一个静态的道具,你可以把它定义defaultPropsSampleParent,你会总是通过相同的字符串.

SampleParent.defaultProps = {
   Header: 'Hello from Parent'
}
Run Code Online (Sandbox Code Playgroud)

  • 那时我不明白你的问题,@ HenrikAndersson已经按你问的方式回答了你的问题.你想把它作为孩子传递吗?你想动态生成标题吗?你的问题根本不清楚.如果你想动态它,只需传递变量值:`<SampleParent Header = {header} />`它将在父组件上的`this.props.Header`上可用 (2认同)