• ..

React Native

    共通部分の切り出し

    key: &keyのようにキーの横に&block-nameと書くとそのブロックをそれ以降で使い回せるようになります。これは場所はどこでもいいです。以下のbar,quux,piyoはどれも有効です。

    foo:
      bar: &bar
        value: value
      baz:
        qux:
          quux: &quux
            value: value
        hoge:
          fuga:
            piyo: &piyo

    オブジェクトに埋め込む

    commonという共通ブロックを設定しました。

    common: &common
      one: one
      two: two

    このように<<: *block-nameという記法で使えます。

    foo:
      zero: zero
      <<: *common
      three: three

    これは JSON にするとこのような感じです。fooブロックの中に共通ブロックのonetwoを入れれました。

    {
      "foo": {
        "zero": "zero", 
        "one": "one",
        "two": "two",
        "three": "three"
      }, 
      "common": {
        "two": "two", 
        "one": "one"
      }
    }

    配列に埋め込む

    配列の場合は- *block-nameという記法で埋め込みます。commonは同じものを使います。また例です。

    foo:
      - zero: zero
      - *common
      - three:
          value: value

    JSON にするとこのような感じです。onetwoというキーを持ったオブジェクトがちゃんと入っているのが分かります。

    {
      "foo": [
        {
          "zero": "zero"
        }, 
        {
          "one": "one"
          "two": "two", 
        }, 
        {
          "three": {
            "value": "value"
          }
        }
      ], 
      "common": {
        "two": "two", 
        "one": "one"
      }
    }