【问题标题】:Is props still good for function component accessing params in React?props 仍然适用于 React 中访问参数的函数组件吗?
【发布时间】:2020-04-15 23:45:14
【问题描述】:

我正在将类组件转换为功能组件。 Event组件以前是这样的:

class Event extends React.Component {
    //do something
  }

现在Event是一个函数组件:

function Event() {
  // do something
}

一些参数被传递给Event,如下所示:

const EventScreen = (props) => (<Event {...props} name={name} address={address})

Event 类中,nameaddress 可以通过this.props.namethis.props.address 访问。

Event转换成函数组件后,如何访问nameaddress?可以是props.nameprops.address吗?

【问题讨论】:

    标签: javascript reactjs react-props


    【解决方案1】:

    您正在谈论使用Function componentprops 作为第一个参数传递给函数:

    function Event(props) {
      // props.name etc exist
    }
    

    你也可以做解构,方便使用:

    function Event({name, address}) {
    
    }
    

    【讨论】:

      【解决方案2】:

      是的,您可以这样访问它:

      function Event(props) {
        //
      }
      

      【讨论】:

        【解决方案3】:

        其实在function component中不需要使用this,可以直接访问如下props:

        function Event(props) {
          console.log(props);
        }
        

        但我建议您使用arrow functiondestructuring assignment 来实现如下功能组件:

        const Event = ({ name, address }) => {
          console.log(name, address);
        }
        

        【讨论】:

        • this 用于类组件
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-16
        • 2019-12-28
        相关资源
        最近更新 更多