Help us understand the problem. What is going on with this article?

ReactではPropsにtrueを渡す際は作法がある。

More than 1 year has passed since last update.

Reactでpropstrueを渡すときに、どう記述するか?

<MyComponent testProps={true} />

こういう時にair-bnbのLinterを導入していると、warningが出る。
これですね

このLintに従うと、こうなる。

<MyComponent testProps />

なぜこれで、propstrueが渡せるのか?

答えは公式にあった!!

公式を参照。

どうやら、コンパイルの際にtrueを渡してくれる模様。
さらに、省略形を推奨している。。。と思う。
読み間違っていて逆を言っているかも:joy:

理由としては、ES6のショートハンドと間違うかららしい。
以下のような形で変数footrueを代入して渡すような時に、
{foo: foo}のショートハンド{foo}と紛らわしいという意味だと思われる。
「変数fooを探してtrueを見つけるよりは、最初から省いておいてtrueを渡しているの明示した方が分かりやすい」という意味と解釈しました。

it can be confused with the ES6 object shorthand {foo} which is short for {foo: foo} rather than {foo: true}が上手く訳せない・・・

class TestComponent extends React.Component{
  render(){
    return(
      <div>
        <h1>{this.props.children}</h1>
        <h2>{`${this.props.aho}`}</h2>
      </div>
    );
  }
}

const foo = true;
ReactDOM.render(
  <TestComponent aho={foo}>hogehoe00000</TestComponent>,
  document.getElementById('b4')
);

私もLintがなくても、ここまで意識してコードを書けるようになりたい。
道は長い・・・

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away