这样使用对象属性是否可以接受?

时间:2016-12-07 10:01:03

标签: javascript reactjs ecmascript-6 react-jsx

美好的一天。我正在尝试使用react-bootstrap库 在它的tutorial我看到了ES6代码,这对我来说似乎有点混乱。

function FieldGroup({ id, label, help, ...props }) {
  return (
    <FormGroup controlId={id}>
      <ControlLabel>{label}</ControlLabel>
      <FormControl {...props} />
      {help && <HelpBlock>{help}</HelpBlock>}
    </FormGroup>
  );
}

在不引用对象的情况下使用单独的对象属性是否可以接受?

1 个答案:

答案 0 :(得分:2)

这很好。它被称为destructuring。 它比这更干净:

size_t row = 3;
size_t col = 4;

int (*mat)[row][col];
genmat(row, col, &mat);

它还具有not just sending all properties#include <stdio.h> #include <stdlib.h> void genmat (size_t nrow, size_t ncol, int (**mat)[nrow][ncol] ) { *mat = malloc( sizeof(int[nrow][ncol]) ); int (*matrix)[ncol] = *mat[0]; for(size_t r=0; r<nrow; r++) { for(size_t c=0; c<ncol; c++) { matrix[r][c] = 1; } } } void printmat (size_t nrow, size_t ncol, int mat[nrow][ncol]) { for(size_t r=0; r<nrow; r++) { for(size_t c=0; c<ncol; c++) { printf("%d ", mat[r][c]); } printf("\n"); } } int main (void) { size_t row = 3; size_t col = 4; int (*mat)[row][col]; genmat(row, col, &mat); printmat(row, col, *mat); free(mat); return 0; } 的优势,但只有它需要的优势。