Skip to content

Add custom textlint rules under textfile dir #98

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 11, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions content/docs/add-react-to-a-website.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ React は段階的に導入することができるように最初からデザ

複雑なツール類や事前にインストールしておかなければいけないものはありません。**インターネットへの接続さえあれば、1 分間でこのセクションを終わらせることができます。**

オプション:[お手本をダウンロードする (2KB ZIP圧縮)](https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605/archive/f6c882b6ae18bde42dcf6fdb751aae93495a2275.zip)
オプション:[お手本をダウンロードする (2KB ZIP 圧縮)](https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605/archive/f6c882b6ae18bde42dcf6fdb751aae93495a2275.zip)

### ステップ 1:HTML に DOM コンテナを追加する {#step-1-add-a-dom-container-to-the-html}

Expand Down Expand Up @@ -94,19 +94,19 @@ React の導入についてもっと知るには、次のセクションも見

**[完成したソースコードをみる](https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605)**

**[完成したソースコードをダウンロードする (2KB ZIP圧縮)](https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605/archive/f6c882b6ae18bde42dcf6fdb751aae93495a2275.zip)**
**[完成したソースコードをダウンロードする (2KB ZIP 圧縮)](https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605/archive/f6c882b6ae18bde42dcf6fdb751aae93495a2275.zip)**

### ヒント:コンポーネントを再利用する {#tip-reuse-a-component}

React コンポーネントを HTML ページの一箇所だけではなくいろいろな箇所で使いたくなることがあるかもしれません。そこで「いいね」ボタンを3回繰り返し表示し、さらにそこにちょっとしたデータを渡すプログラムを用意しました。
React コンポーネントを HTML ページの一箇所だけではなくいろいろな箇所で使いたくなることがあるかもしれません。そこで「いいね」ボタンを 3 回繰り返し表示し、さらにそこにちょっとしたデータを渡すプログラムを用意しました。

[ソースコードをみる](https://gist.github.com/gaearon/faa67b76a6c47adbab04f739cba7ceda)

[ソースコードをダウンロードする (2KB ZIP圧縮)](https://gist.github.com/gaearon/faa67b76a6c47adbab04f739cba7ceda/archive/9d0dd0ee941fea05fd1357502e5aa348abb84c12.zip)
[ソースコードをダウンロードする (2KB ZIP 圧縮)](https://gist.github.com/gaearon/faa67b76a6c47adbab04f739cba7ceda/archive/9d0dd0ee941fea05fd1357502e5aa348abb84c12.zip)

>補足
>
>このようなやり方は、主に React を利用する DOM コンテナがページ内でお互いに干渉していない場合において便利な手段です。 React 単体のコードとしては、[コンポーネントを組み合わせる](/docs/components-and-props.html#composing-components) やり方のほうが手軽です。
>このようなやり方は、主に React を利用する DOM コンテナがページ内でお互いに干渉していない場合において便利な手段です。React 単体のコードとしては、[コンポーネントを組み合わせる](/docs/components-and-props.html#composing-components) やり方のほうが手軽です。

### ヒント:本番環境用に JavaScript を圧縮する {#tip-minify-javascript-for-production}

Expand Down Expand Up @@ -176,7 +176,7 @@ JSX をプロジェクトに追加するためには、バンドルツールや
>
>ここでは **JSX プリプロセッサをインストールするためだけに npm を使っています**。それ以外の用途では必要ありません。React のソースコードもアプリケーションコードも引き続き `<script>` タグの中にそのまま書くことができます。

お疲れ様です! これで**本番環境用の JSX の設定**をプロジェクトに追加することができました。
お疲れ様です! これで**本番環境用の JSX の設定**をプロジェクトに追加することができました。


### JSX プリプロセッサを実行する {#run-jsx-preprocessor}
Expand Down
2 changes: 1 addition & 1 deletion content/docs/addons-shallow-renderer.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ expect(result.props.children).toEqual([

shallowRenderer は、テストしているコンポーネントをレンダーするための「場所」と捉えることができ、そこからコンポーネントの出力を抽出できます。

`shallowRenderer.render()` は [`ReactDOM.render()`](/docs/react-dom.html#render) に似ていますが、 DOM を必要とせず、1 階層だけレンダーします。つまり、テスト対象のコンポーネントが持つ子コンポーネントの実装から分離してテストを実行できます。
`shallowRenderer.render()` は [`ReactDOM.render()`](/docs/react-dom.html#render) に似ていますが、DOM を必要とせず、1 階層だけレンダーします。つまり、テスト対象のコンポーネントが持つ子コンポーネントの実装から分離してテストを実行できます。

### `shallowRenderer.getRenderOutput()` {#shallowrenderergetrenderoutput}

Expand Down
6 changes: 3 additions & 3 deletions content/docs/code-splitting.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ permalink: docs/code-splitting.html

## バンドル {#bundling}

多くの React アプリケーションは、[Webpack](https://webpack.js.org/)や [Browserify](http://browserify.org/) などの
多くの React アプリケーションは、[Webpack](https://webpack.js.org/) や [Browserify](http://browserify.org/) などの
ツールを使ってファイルを「バンドル」しています。
バンドルはインポートされたファイルをたどって、それらを 1 つのファイルにまとめるプロセスです。
このバンドルされたファイルを Web ページ内に置くことによって、アプリ全体を一度に読み込むことができます。
Expand Down Expand Up @@ -92,9 +92,9 @@ import("./math").then(math => {
> 現時点ではまだ言語標準となっていません。
> 近い将来での標準化が期待されています。

Webpackがこの構文を見つけると、自動的にアプリのコードを分割します。
Webpack がこの構文を見つけると、自動的にアプリのコードを分割します。
Create React App を使用している場合はすでに設定がされているため、[すぐに使用を開始することができます。](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#code-splitting)
Next.jsも同様です
Next.js も同様です

もし Webpack を自分でセットアップしていた場合には、Webpack の[コード分割に関するガイド](https://webpack.js.org/guides/code-splitting/)を読むと良いでしょう。
きっとあなたの Webpack の設定はだいたい[このように](https://gist.github.com/gaearon/ca6e803f5c604d37468b0091d9959269)なると思います。
Expand Down
6 changes: 3 additions & 3 deletions content/docs/components-and-props.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ ReactDOM.render(

コンポーネントは自身の出力の中で他のコンポーネントを参照できます。これにより、どの詳細度のレベルにおいても、コンポーネントという単一の抽象化を利用できます。ボタン、フォーム、ダイアログ、画面:React アプリでは、これらは共通してコンポーネントとして表現されます。

例えば、 `Welcome` を何回もレンダリングする `App` コンポーネントを作成できます:
例えば、`Welcome` を何回もレンダリングする `App` コンポーネントを作成できます:

```js{8-10}
function Welcome(props) {
Expand Down Expand Up @@ -255,8 +255,8 @@ function withdraw(account, amount) {
}
```

React は柔軟ですが、1つだけ厳格なルールがあります
React は柔軟ですが、1 つだけ厳格なルールがあります

**全ての React コンポーネントは、自己の props に対して純関数のように振る舞わねばなりません。**

もちろんアプリケーションの UI は動的で、時間に応じて変化するものです。[next section](/docs/state-and-lifecycle.html)では、"state" という新しい概念を紹介します。state により React コンポーネントは上述のルールを壊すことなく、時間と共にユーザのアクション、ネットワークのレスポンスや他の様々な事に反応して、出力を変更することができます。
もちろんアプリケーションの UI は動的で、時間に応じて変化するものです。[next section](/docs/state-and-lifecycle.html) では、"state" という新しい概念を紹介します。state により React コンポーネントは上述のルールを壊すことなく、時間と共にユーザのアクション、ネットワークのレスポンスや他の様々な事に反応して、出力を変更することができます。
2 changes: 1 addition & 1 deletion content/docs/composition-vs-inheritance.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ function WelcomeDialog() {

**[Try it on CodePen](https://codepen.io/gaearon/pen/ozqNOV?editors=0010)**

`<FancyBorder>` JSX タグの内側のあらゆる要素は `FancyBorder` に `children` という props として渡されます。 `FancyBorder` は `<div>` の内側に `{props.children}` をレンダリングするので、渡された要素が出力されます。
`<FancyBorder>` JSX タグの内側のあらゆる要素は `FancyBorder` に `children` という props として渡されます。`FancyBorder` は `<div>` の内側に `{props.children}` をレンダリングするので、渡された要素が出力されます。

あまり一般的ではありませんが、複数の箇所に子要素を追加したいケースも考えられます。そのようなケースでは以下のように `children` の props の代わりに独自の props を作成して渡すことができます。

Expand Down
2 changes: 1 addition & 1 deletion content/docs/create-a-new-react-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Gatsby の[オフィシャルガイド](https://www.gatsbyjs.org/docs/) およ

- **[Neutrino](https://neutrinojs.org/)** は [webpack](https://webpack.js.org/) のパワーとプリセットのシンプルさを兼ね備えています。プリセットには [React アプリ](https://neutrinojs.org/packages/react/) と [React コンポーネント](https://neutrinojs.org/packages/react-components/)用のものがあります。

- **[nwb](https://github.com/insin/nwb)** は [npm で React コンポーネントを公開する](https://github.com/insin/nwb/blob/master/docs/guides/ReactComponents.md#developing-react-components-and-libraries-with-nwb)ことに特に優れています。React アプリを作成するのにも[利用](https://github.com/insin/nwb/blob/master/docs/guides/ReactApps.md#developing-react-apps-with-nwb)できます。
- **[nwb](https://github.com/insin/nwb)** は [npm で React コンポーネントを公開する](https://github.com/insin/nwb/blob/master/docs/guides/ReactComponents.md#developing-react-components-and-libraries-with-nwb)ことに特に優れています。React アプリを作成するのにも[利用](https://github.com/insin/nwb/blob/master/docs/guides/ReactApps.md#developing-react-apps-with-nwb)できます。

- **[Parcel](https://parceljs.org/)** は高速な、ゼロ設定のウェブアプリケーションバンドラであり、[React と共に利用](https://parceljs.org/recipes.html#react)できます。

Expand Down
4 changes: 2 additions & 2 deletions content/docs/faq-ajax.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ category: FAQ

### コンポーネントのどのライフサイクルで AJAX コールすべきか? {#where-in-the-component-lifecycle-should-i-make-an-ajax-call}

AJAX コールによるデータ取得は[`componentDidMount`](/docs/react-component.html#mounting)のライフサイクルメソッドで行うべきです。データ取得後に `setState` でコンポーネントを更新できるようにするためです。
AJAX コールによるデータ取得は [`componentDidMount`](/docs/react-component.html#mounting) のライフサイクルメソッドで行うべきです。データ取得後に `setState` でコンポーネントを更新できるようにするためです。

### 例:ローカル state に AJAX の通信結果をセットする {#example-using-ajax-results-to-set-local-state}

下記のコンポーネントは、 `componentDidMount` で AJAX コールして得られたデータをローカルコンポーネントの state に流し込んでいます。
下記のコンポーネントは、`componentDidMount` で AJAX コールして得られたデータをローカルコンポーネントの state に流し込んでいます。

このサンプル API が返す JSON オブジェクトはこのようになります:

Expand Down
4 changes: 2 additions & 2 deletions content/docs/faq-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ category: FAQ

### React では JSX を使用する必要がありますか? {#do-i-need-to-use-jsx-with-react}

いいえ! 詳細は ["JSX なしで React を使う"](/docs/react-without-jsx.html) をご覧ください。
いいえ! 詳細は ["JSX なしで React を使う"](/docs/react-without-jsx.html) をご覧ください。

### React では ES6(もしくはそれ以降のバージョン)を使用する必要がありますか? {#do-i-need-to-use-es6--with-react}

いいえ! 詳細は ["ES6 なしで React を使う"](/docs/react-without-es6.html) をご覧ください。
いいえ! 詳細は ["ES6 なしで React を使う"](/docs/react-without-es6.html) をご覧ください。

### JSX の中にコメントを記述するには? {#how-can-i-write-comments-in-jsx}

Expand Down
10 changes: 5 additions & 5 deletions content/docs/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ redirect_from:

## 制御されたコンポーネント {#controlled-components}

HTMLでは `<input>`、`<textarea>`、そして `<select>` のようなフォーム要素は通常、自身で状態を保持しており、ユーザーの入力に基づいてそれを更新します。React では、変更されうる状態は通常はコンポーネントの state プロパティに保持され、[`setState()`](/docs/react-component.html#setstate) 関数でのみ更新されます。
HTML では `<input>`、`<textarea>`、そして `<select>` のようなフォーム要素は通常、自身で状態を保持しており、ユーザーの入力に基づいてそれを更新します。React では、変更されうる状態は通常はコンポーネントの state プロパティに保持され、[`setState()`](/docs/react-component.html#setstate) 関数でのみ更新されます。

React の state を "信頼できる唯一の情報源 (single source of truth)" とすることで、上述の 2 つの状態を結合させることができます。そうすることで、フォームをレンダーしている React コンポーネントが、後続するユーザー入力でフォームで起きることも制御できるようになります。このような方法で React によって値が制御される入力フォーム要素は「制御されたコンポーネント」と呼ばれます。

Expand Down Expand Up @@ -86,7 +86,7 @@ HTML では、`<textarea>` 要素はテキストを子要素として定義し
</textarea>
```

Reactでは、`<textarea>` は代わりに `value` 属性を使用します。こうすることで、`<textarea>` を使用するフォームは単一行の入力フォームと非常に似た書き方ができるようになります:
React では、`<textarea>` は代わりに `value` 属性を使用します。こうすることで、`<textarea>` を使用するフォームは単一行の入力フォームと非常に似た書き方ができるようになります:

```javascript{4-6,12-14,26}
class EssayForm extends React.Component {
Expand Down Expand Up @@ -185,15 +185,15 @@ class FlavorForm extends React.Component {

> 補足
>
> `value` 属性に配列を渡すことで、 `select` タグ内の複数のオプションを選択することができます:
> `value` 属性に配列を渡すことで、`select` タグ内の複数のオプションを選択することができます:
>
>```js
><select multiple={true} value={['B', 'C']}>
>```

##file input タグ {#the-file-input-tag}

HTMLでは、`<input type="file">` によってユーザにデバイス内の 1 つ以上のファイルを選ばせて、それをサーバにアップロードしたり [File API](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications) を使って JavaScript で操作したりすることができます。
HTML では、`<input type="file">` によってユーザにデバイス内の 1 つ以上のファイルを選ばせて、それをサーバにアップロードしたり [File API](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications) を使って JavaScript で操作したりすることができます。

```html
<input type="file" />
Expand Down Expand Up @@ -293,7 +293,7 @@ setTimeout(function() {

## 制御されたコンポーネントの代替手段 {#alternatives-to-controlled-components}

制御されたコンポーネントは、あらゆる種類のデータの変更に対してイベントハンドラを書き、あらゆる入力状態を React コンポーネントに通してやる必要があるため、時としてうんざりすることがあります。このことは既存のコードベースを React に変換する場合や、React アプリケーションを非 React のライブラリと統合する場合に、特に問題化します。これらの状況においては、 入力フォームを実装する代替手段である[非制御コンポーネント](/docs/uncontrolled-components.html)を検討してみてください。
制御されたコンポーネントは、あらゆる種類のデータの変更に対してイベントハンドラを書き、あらゆる入力状態を React コンポーネントに通してやる必要があるため、時としてうんざりすることがあります。このことは既存のコードベースを React に変換する場合や、React アプリケーションを非 React のライブラリと統合する場合に、特に問題化します。これらの状況においては、入力フォームを実装する代替手段である[非制御コンポーネント](/docs/uncontrolled-components.html)を検討してみてください。

## 本格的なソリューション {#fully-fledged-solutions}

Expand Down
4 changes: 2 additions & 2 deletions content/docs/fragments.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class Table extends React.Component {
}
```

レンダーされる HTML が正しいものであるためには、`<Columns />` は複数の `<td>` 要素を返す必要があります。 `<Columns />` 中の `render()` 内で親の div 要素を使ってしまうと、結果として出力される HTML は不正なものとなってしまいます。
レンダーされる HTML が正しいものであるためには、`<Columns />` は複数の `<td>` 要素を返す必要があります。`<Columns />` 中の `render()` 内で親の div 要素を使ってしまうと、結果として出力される HTML は不正なものとなってしまいます。

```jsx
class Columns extends React.Component {
Expand Down Expand Up @@ -117,7 +117,7 @@ class Columns extends React.Component {

### key 付きフラグメント {#keyed-fragments}

明示的に `<React.Fragment>` と宣言したフラグメントでは key を持つことができます。 これはコレクションをフラグメントの配列に変換するときに有用です。たとえば定義リストを作成する時に利用します:
明示的に `<React.Fragment>` と宣言したフラグメントでは key を持つことができます。これはコレクションをフラグメントの配列に変換するときに有用です。たとえば定義リストを作成する時に利用します:

```jsx
function Glossary(props) {
Expand Down
Loading