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

質問編集履歴

1

ファイルの記述を変更したため

2020/12/04 15:11

投稿

aku424tt
aku424tt

スコア15

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
- 写真は現状console.logを使ってtoggleSmile=()関数中身を表示させたものになります。![![イメージ説明](e67f8ce10102619525d635330994d762.png)]
257
+ edited~言うファイルは変更後ファイルです。Mainはreturn内でpropsのisSmileを追加。Number.jsxではonClickの関数追加。
258
+ Image.jsxでは条件分岐の条件変更。