質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

2831閲覧

react.js Proptypeのshapeとは一体。。。??

kazoogon

総合スコア281

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2018/09/14 18:59

今していること

react.js reduxでTodo機能を作成

疑問点

propTypes.shapeとは「独特な形態を待つobjectでなければならない。」と調べたらでてきますが、一体「独特な形態」とは何を指しているのでしょうか???

(例) TodoList.protoTypes = { todos: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.number.isRequired, text: PropTypes.string.isRequired }).isRequired).isRequired }

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その表現は、

https://qiita.com/park-jh/items/a7dc06a478b944e59222

に書かれている文章のことでしょうか?元々のReactのドキュメントでは"An object taking on a particular shape"であるようで、その直訳でしょう。

PropTypes.shapeに引数と渡しているオブジェクトと同じような形で無ければならないと言うことです。質問でのコードの例では{id: PropTypes.number.isRequired, text: PropTypes.string.isRequired}というオブジェクトを引数として渡していますので、数値であるidプロパティと文字列であるtextプロパティがそれぞれ必須と言うことです。例えばこんな感じです。

{id: 0, text: "hoge"} … 条件を満たす
× {id: 0} … textが無いのでダメ
× {text: "hoge"} … idが無いのでダメ
× {id: "a", text: "hoge"} … idが数値ではないのでダメ
× {id: 0, text: [0, 3, 4]} … textが文字列ではないのでダメ

投稿2018/09/14 21:40

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問