回答編集履歴

1

コメント対応

2018/02/06 07:22

投稿

miyabi-sun
miyabi-sun

スコア21203

test CHANGED
@@ -33,3 +33,89 @@
33
33
  また、あまり推奨ではないですがグローバル変数領域で関数として宣言する方法もあります。
34
34
 
35
35
  JSでは関数や変数を利用した時に、そのスコープ内に無ければ外のスコープと辿っていき、最終的にはグローバル変数を確認する仕様になっています。
36
+
37
+
38
+
39
+ ---
40
+
41
+
42
+
43
+ 【コメント部分】
44
+
45
+
46
+
47
+ Webpack使ってるなら話が速いですね。
48
+
49
+
50
+
51
+ > ```JavaScript
52
+
53
+ > import React from 'react';
54
+
55
+ > import A from './A.js'; // このファイルに外出ししたい
56
+
57
+ > var B = React.createClass({
58
+
59
+ > getWindowSize:function() {
60
+
61
+ > // 共通化したい処理
62
+
63
+ > },
64
+
65
+ > render:function() {
66
+
67
+ > return ()
68
+
69
+ > }
70
+
71
+ > });
72
+
73
+ > ```
74
+
75
+
76
+
77
+ importすると、そのスコープのA変数に外出しした関数が詰まっています。
78
+
79
+ なので下記のように修正します。
80
+
81
+
82
+
83
+ A.js
84
+
85
+
86
+
87
+ ```JavaScript
88
+
89
+ export default function () {
90
+
91
+ // 共通化したい処理
92
+
93
+ }
94
+
95
+ ```
96
+
97
+
98
+
99
+ 本編
100
+
101
+
102
+
103
+ ```JavaScript
104
+
105
+ import React from 'react';
106
+
107
+ import A from './A.js';
108
+
109
+ var B = React.createClass({
110
+
111
+ getWindowSize: A, // 共通化した関数Aを指定
112
+
113
+ render:function() {
114
+
115
+ return ()
116
+
117
+ }
118
+
119
+ });
120
+
121
+ ```