我的感觉是({course})语法正在从props对象中提取属性“course”。从而使对组件内部“类(class)”属性的调用更加简洁。如果我使用(props)语法传递了props,则代替({course})。然后,我将不得不说“props.course.authorId”。

我的思路正确吗?如果您可以确切地了解此处发生的事情并填补任何空白,那将是很棒的。

import React, {PropTypes} from 'react';
import {Link} from 'react-router';

const CourseListRow = ({course}) => {
  return (
    <tr>
      <td><a href={course.watchHref} target="_blank">Watch</a></td>
      <td><Link to={'/course' + course.id}>{course.title}</Link></td>
      <td>{course.authorId}</td>
      <td>{course.category}</td>
      <td>{course.length}</td>
    </tr>
  );
};

CourseListRow.propTypes = {
  course: PropTypes.object.isRequired
};

export default CourseListRow;

最佳答案

你是对的。在ES6语法中,函数签名

const CourseListRow = ({course}) => { ... }

与ES5代码相同
var CourseListRow = function(props) {
    var course = props.course;
    ...
}

这称为destructuring

关于reactjs - react ,为什么将 Prop 传递给无状态功能组件时{}?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37886738/

10-12 13:18