Skip to content

Commit 29aa7bf

Browse files
committed
Refine
1 parent ed530fa commit 29aa7bf

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/content/reference/react/createElement.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: createElement
44

55
<Intro>
66

7-
`createElement` によって React 要素を作成できます。これは [JSX](/learn/writing-markup-with-jsx) を書く代替の手段として利用できます
7+
`createElement` によって React 要素を作成できます。これは [JSX](/learn/writing-markup-with-jsx) を書く代わりの手段として利用できます
88

99
```js
1010
const element = createElement(type, props, ...children)
@@ -38,9 +38,9 @@ function Greeting({ name }) {
3838

3939
#### 引数 {/*parameters*/}
4040

41-
* `type`: `type` 引数は有効な React のコンポーネントタイプでなければなりません。例えば、タグ名の文字列(`'div'``'span'`)や、React コンポーネント(関数、クラス、または [`Fragment`](/reference/react/Fragment) のような特別なコンポーネント)が該当します。
41+
* `type`: `type` 引数は有効な React のコンポーネント型でなければなりません。例えば、タグ名の文字列(`'div'``'span'`)や、React コンポーネント(関数、クラス、または [`Fragment`](/reference/react/Fragment) のような特別なコンポーネント)が該当します。
4242

43-
* `props`: `props` 引数はオブジェクトか `null` でなければなりません。`null` を渡すと、空のオブジェクトと同じように扱われます。React は、渡された `props` に一致する props を持つ要素を作成します`props` オブジェクトの `ref``key` は特別で、返された `element``element.props.ref``element.props.key` としては*利用できません*`element.ref` ないし `element.key` となります。
43+
* `props`: `props` 引数はオブジェクトか `null` でなければなりません。`null` を渡すと、空のオブジェクトと同じように扱われます。React は、渡された `props` と同じ props を持った要素を作成します`props` オブジェクトの `ref``key` は特別であり、返された `element``element.props.ref``element.props.key` として*利用できません*`element.ref` ないし `element.key` となります。
4444

4545
* **省略可能** `...children`: ゼロ個以上の子ノード。これらは React ノード、つまり、React 要素、文字列、数値、[ポータル](/reference/react-dom/createPortal)、空ノード(`null``undefined``true``false`)、あるいは React ノードの配列となります。
4646

@@ -53,23 +53,23 @@ function Greeting({ name }) {
5353
* `ref`: 指定した `ref`。未指定の場合は `null`
5454
* `key`: 指定した `key`。強制的に文字列に変換されます。未指定の場合は `null`
5555

56-
通常、あなたはこの要素をコンポーネントから返すか、他の要素の子として用います。要素のプロパティを読み取ることが可能ですが、作成後は要素の構造を非公開 (opaque) として扱い、レンダーのみ行うようにしてください
56+
通常、この要素をコンポーネントから返すか、他の要素の子として用います。要素のプロパティを読み取ることは可能ですが、作成後は要素の構造を非公開 (opaque) として扱い、レンダーのみ行うようにするべきです
5757

5858
#### 注意点 {/*caveats*/}
5959

6060
* **React 要素とその props は[イミュータブル (immutable)](https://en.wikipedia.org/wiki/Immutable_object) として扱い**、作成後にその内容を変更してはなりません。これを強制するために、React は開発環境において、返された要素とその `props` プロパティを浅く[凍結 (freeze)](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze) します。
6161

6262
* JSX を使用する場合、**独自のカスタムコンポーネントをレンダーするためにはタグを大文字で始める必要があります**。つまり、`<Something />``createElement(Something)` と同等ですが、`<something />`(小文字)は `createElement('something')` と同等です(文字列なので、組み込みの HTML タグとして扱われます)。
6363

64-
* **複数の children の内容がすべて静的に分かっている場合**`createElement` には子を `createElement('h1', {}, child1, child2, child3)` のように**複数の引数として渡してください**。子が動的な場合は、配列全体を第 3 引数として `createElement('ul', {}, listItems)` のように渡してください。これにより、React は動的なリストに `key` が欠けている場合に[警告を出す](/learn/rendering-lists#keeping-list-items-in-order-with-key)ようになります。静的なリストでは並び替えは決して発生しないため、key は必要ありません。
64+
* **複数の子の内容がすべて静的に分かっている場合**`createElement` には子を `createElement('h1', {}, child1, child2, child3)` のように**複数の引数として渡してください**。子が動的な場合は、配列全体を第 3 引数として `createElement('ul', {}, listItems)` のように渡してください。これにより、React は動的なリストに `key` が欠けている場合に[警告を出す](/learn/rendering-lists#keeping-list-items-in-order-with-key)ようになります。静的なリストでは並び替えは決して発生しないため、key は必要ありません。
6565

6666
---
6767

6868
## 使用法 {/*usage*/}
6969

7070
### JSX を使わずに要素を作成する {/*creating-an-element-without-jsx*/}
7171

72-
[JSX](/learn/writing-markup-with-jsx) が好きでない場合や、プロジェクトで使用できない場合は、代わりに `createElement` を使用できます。
72+
[JSX](/learn/writing-markup-with-jsx) が好きでない場合や、プロジェクトで使用できない場合には、代わりに `createElement` を使用できます。
7373

7474
JSX を使わずに要素を作成するには、`createElement` を呼び出して、何らかの <CodeStep step={1}>type</CodeStep>、<CodeStep step={2}>props</CodeStep>、<CodeStep step={3}>children</CodeStep> を引数として渡します。
7575

@@ -99,7 +99,7 @@ function Greeting({ name }) {
9999
}
100100
```
101101

102-
自分自身の React コンポーネントをレンダーするには、`'h1'` のような文字列ではなく `Greeting` のような関数を <CodeStep step={1}>type</CodeStep> として渡します。
102+
自身のカスタム React コンポーネントをレンダーするには、`'h1'` のような文字列ではなく `Greeting` のような関数を <CodeStep step={1}>type</CodeStep> として渡します。
103103

104104
```js [[1, 2, "Greeting"], [2, 2, "{ name: 'Taylor' }"]]
105105
export default function App() {
@@ -115,7 +115,7 @@ export default function App() {
115115
}
116116
```
117117

118-
以下は、`createElement` を使用して書かれた完全な例です:
118+
以下は、`createElement` を使用して書かれたフルのサンプルです。
119119

120120
<Sandpack>
121121

@@ -149,7 +149,7 @@ export default function App() {
149149

150150
</Sandpack>
151151

152-
同じ例を JSX で書くと以下のようになります。
152+
同じものを JSX で書くと以下のようになります。
153153

154154
<Sandpack>
155155

@@ -198,7 +198,7 @@ export default function App() {
198198

199199
**このオブジェクトを作成しただけでは、`Greeting` コンポーネントがレンダーされたり、DOM 要素が作成されたりするわけではないことに注意してください**
200200

201-
React 要素とは、むしろ指示書のようなものです。React に後で `Greeting` コンポーネントをレンダーするよう指示します。このオブジェクトを `App` コンポーネントから返すことで、React に次に何をすべきかを伝えるのです。
201+
React 要素とは、むしろ指示書のようなものです。React に後で `Greeting` コンポーネントをレンダーするよう指示するものです。このオブジェクトを `App` コンポーネントから返すことで、React に次に何をすべきかを伝えるのです。
202202

203203
要素の作成は非常に安価であるため、最適化したり避けたりする必要はありません。
204204

0 commit comments

Comments
 (0)