From 990caa4a9a73aaa3b65c8e7dbc975abdb2f1bc5b Mon Sep 17 00:00:00 2001 From: Kohei TAKATA Date: Fri, 17 Jul 2015 08:51:22 +0900 Subject: [PATCH] Translate 10.3-class-name-manipulation.md to Japanese --- .../10.3-class-name-manipulation.ja-JP.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/docs/10.3-class-name-manipulation.ja-JP.md diff --git a/docs/docs/10.3-class-name-manipulation.ja-JP.md b/docs/docs/10.3-class-name-manipulation.ja-JP.md new file mode 100644 index 0000000000..d96ecb44f0 --- /dev/null +++ b/docs/docs/10.3-class-name-manipulation.ja-JP.md @@ -0,0 +1,61 @@ +--- +id: class-name-manipulation +title: クラス名の操作 +permalink: class-name-manipulation-ja-JP.html +prev: two-way-binding-helpers-ja-JP.html +next: test-utils-ja-JP.html +--- + +> 注意: +> このモジュールは現在[JedWatson/classnames](https://github.com/JedWatson/classnames)に独立して存在しており、Reactは変更を検知していません。したがって、こちらは将来削除される予定です。 + +`classSet()` はDOMの `class` 文字列を簡単に操作するすっきりとしたユーティリティです。 + +以下は、 `classSet()` を使用しない共通なシナリオと解決策です。 + +```javascript +// `` などの中のReactコンポーネント +render: function() { + var classString = 'message'; + if (this.props.isImportant) { + classString += ' message-important'; + } + if (this.props.isRead) { + classString += ' message-read'; + } + // 'message message-important message-read' + return
Great, I'll be there.
; +} +``` + +上記は、クラス名を文字列として渡しているので、面倒で、読みにくく、エラーが発生しやすくなります。以下のように、 `classSet()` を使用するとこの問題が解決します。 + +```javascript +render: function() { + var cx = React.addons.classSet; + var classes = cx({ + 'message': true, + 'message-important': this.props.isImportant, + 'message-read': this.props.isRead + }); + // 同様に最終的には文字列になりますが、クリアにはなります + return
Great, I'll be there.
; +} +``` + + `classSet()` を使用する際には、キーと、必要であったり、必要でないCSSのクラス名をオブジェクトとして渡してください。値が真であるものはキーとなり、最終的には文字列の一部になります。 + +`classSet()` もまた、以下のように連結した文字列の引数としてクラス名を渡します。 + +```javascript +render: function() { + var cx = React.addons.classSet; + var importantModifier = 'message-important'; + var readModifier = 'message-read'; + var classes = cx('message', importantModifier, readModifier); + // 最終的な文字列は 'message message-important message-read' + return
Great, I'll be there.
; +} +``` + +文字列の連結を手で書くのはやめましょう!