teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/07/27 17:39

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,50 @@
2
2
 
3
3
  ![イメージ説明](2afe0b0d8fb6a509f7425ebcf26d2ccf.gif)
4
4
 
5
- たぶんAtomもあるのではないでしょうか。
5
+ たぶんAtomもあるのではないでしょうか。
6
+
7
+ ------
8
+
9
+ > これが表示されたところでどう適用したらいいのかわかりません。
10
+
11
+ それを見ても分からないということでしたら,TypeScriptや型定義が分かっていないのではなくReactの使い方が分からないということだと思います。
12
+
13
+ ```
14
+ type SFC<P = {}> = StatelessComponent<P>;
15
+ interface StatelessComponent<P = {}> {
16
+ (props: P & { children?: ReactNode }, context?: any): ReactElement<any> | null;
17
+ propTypes?: ValidationMap<P>;
18
+ contextTypes?: ValidationMap<any>;
19
+ defaultProps?: Partial<P>;
20
+ displayName?: string;
21
+ }
22
+ ```
23
+
24
+ 上記の型定義から以下のように使用できるというところまでは分かります。
25
+
26
+ ```
27
+ interface HogeProps {
28
+ text: string;
29
+ }
30
+ const Hoge: React.SFC<HogeProps> = (props: HogeProps) => {
31
+ return (
32
+ <p>{props.text}</p>
33
+ );
34
+ };
35
+
36
+ ..........
37
+
38
+ Hoge.defaultProps = {
39
+ text: 'HELLO WORLD'
40
+ };
41
+ Hoge.displayName = 'hoge';
42
+ ```
43
+
44
+ ただしdefaultPropsやdisplayNameが何に使用されるのかはReact自体の仕様なので,TypeScriptや型定義は関係ないです。
45
+
46
+ なので
47
+
48
+ - kakajikaさんのおっしゃるようにテストコードを見る
49
+ - 公式ドキュメントを探す
50
+
51
+ なのかな