https://codesandbox.io/s/x9p4qw2j94

{...todo} とすると、todo オブジェクトを展開して、渡せる。

つまり、todo オブジェクトの中の各プロパティ (id: 1 と text: 'text') (name: value) を、name={value} という形で渡しているのと同じことになる。

// index.js
import React from "react";
import { render } from "react-dom";
import Sub1 from "./Sub1";
import Sub2 from "./Sub2";

const todo = {
  id: 1,
  text: "text"
};

const App = () => (
  <div>
    <Sub1 {...todo} />
    <Sub1 id={todo.id} text={todo.text} />
    <Sub2 todo={todo} />
  </div>
);

render(<App />, document.getElementById("root"));
// Sub1.js
import React from "react";

const Sub1 = ({ id, text }) => {
  return (
    <span>
      <p>
        {id} {text}
      </p>
    </span>
  );
};

export default Sub1;
// Sub2.js
import React from 'react'

const Sub2 = ({todo}) => {
  return (
    <span>
      <p>{todo.id}</p>
    </span>
  )
}

export default Sub2

results matching ""

    No results matching ""