質問編集履歴
1
ファイルの記述を変更したため
title
CHANGED
File without changes
|
body
CHANGED
@@ -94,6 +94,63 @@
|
|
94
94
|
export default Main;
|
95
95
|
```
|
96
96
|
|
97
|
+
```editedMain
|
98
|
+
import React from 'react';
|
99
|
+
import Number from './Number';
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
class Main extends React.Component{
|
104
|
+
constructor(props){
|
105
|
+
super(props);
|
106
|
+
this.state={
|
107
|
+
count:0,
|
108
|
+
isSmile:false
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
|
113
|
+
addCount = ()=>{
|
114
|
+
this.setState({
|
115
|
+
count : this.state.count+1
|
116
|
+
});
|
117
|
+
}
|
118
|
+
downCount = ()=>{
|
119
|
+
this.setState({
|
120
|
+
count : this.state.count-1
|
121
|
+
});
|
122
|
+
}
|
123
|
+
toggleSmile=()=>{
|
124
|
+
if(this.state.count%5 === 0){
|
125
|
+
this.setState({
|
126
|
+
isSmile:true
|
127
|
+
})
|
128
|
+
}else{
|
129
|
+
this.setState({
|
130
|
+
isSmile:false
|
131
|
+
})
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
render(){
|
136
|
+
return(
|
137
|
+
<>
|
138
|
+
<Number
|
139
|
+
count = {this.state.count}
|
140
|
+
add ={()=>{this.addCount()}}
|
141
|
+
down ={()=>{this.downCount()}}
|
142
|
+
toggle = {()=>{this.toggleSmile()}}
|
143
|
+
isSmile = {this.state.isSmile}
|
144
|
+
/>
|
145
|
+
</>
|
146
|
+
)
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
export default Main;
|
151
|
+
```
|
152
|
+
|
153
|
+
|
97
154
|
```Number
|
98
155
|
import React from 'react';
|
99
156
|
import Image from './Image';
|
@@ -116,7 +173,30 @@
|
|
116
173
|
};
|
117
174
|
export default Number;
|
118
175
|
```
|
176
|
+
```editedNumber
|
177
|
+
import React from 'react';
|
178
|
+
import Image from './Image';
|
119
179
|
|
180
|
+
const Number = (props) => {
|
181
|
+
return(
|
182
|
+
<>
|
183
|
+
<Image
|
184
|
+
count = {props.count}
|
185
|
+
isSmile = {props.isSmile}
|
186
|
+
/>
|
187
|
+
<h2>{props.count}</h2>
|
188
|
+
<br/>
|
189
|
+
<div className="boxInner">
|
190
|
+
<div className="btn" onClick = {()=>{props.add();props.toggle()}}>プラス</div>
|
191
|
+
<div className="btn" onClick = {()=>{props.down();props.toggle()}}>マイナス</div>
|
192
|
+
|
193
|
+
</div>
|
194
|
+
</>
|
195
|
+
)
|
196
|
+
};
|
197
|
+
export default Number;
|
198
|
+
```
|
199
|
+
|
120
200
|
```Image
|
121
201
|
import React from 'react';
|
122
202
|
|
@@ -151,11 +231,28 @@
|
|
151
231
|
};
|
152
232
|
export default Image;
|
153
233
|
```
|
234
|
+
```editedImage
|
235
|
+
import React from 'react';
|
236
|
+
|
237
|
+
|
238
|
+
const Image = (props) => {
|
239
|
+
return(
|
240
|
+
<>
|
241
|
+
<div className="img">
|
242
|
+
{(() => {
|
243
|
+
if (props.isSmile === true) {
|
244
|
+
return <span>5で割れる</span>
|
245
|
+
} else {
|
246
|
+
return <span>5で割れない</span>
|
247
|
+
}
|
248
|
+
})()}
|
249
|
+
</div>
|
250
|
+
</>
|
251
|
+
)
|
252
|
+
};
|
253
|
+
export default Image;
|
254
|
+
```
|
154
255
|
### 補足情報(FW/ツールのバージョンなど)
|
155
256
|
開発環境はcreate react appを使用しています。
|
156
|
-
|
157
|
-
|
158
|
-
記載情報に不足等がありましたら遠慮なく申してください。
|
159
|
-
どうかよろしくお願いします。
|
160
|
-
|
161
|
-
|
257
|
+
edited~と言うファイルは変更後のファイルです。Mainはreturn内でpropsのisSmileを追加。Number.jsxではonClickの関数追加。
|
258
|
+
Image.jsxでは条件分岐の条件変更。
|