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

質問編集履歴

2

2022/01/12 06:25

投稿

mj29
mj29

スコア136

title CHANGED
File without changes
body CHANGED
@@ -1,77 +1,73 @@
1
- ### 前提・実現したいこと
2
-
3
- React外の入力欄である標準価格(id=default-price)の値を変更するとReact内の入力欄である価格を更新する方法が知りたいです。
4
-
5
-
6
- ![イメージ説明](9c7a1331cbc25fc34ecf47470e8d0568.png)
7
-
8
- ### 該当のソースコード
9
-
10
- ```html
11
- <!DOCTYPE html>
12
- <html lang="ja">
13
- <head>
14
- <meta charset="UTF-8">
15
- <title>Reactテスト</title>
16
- </head>
17
- <body>
18
- <label for="default-price">標準価格</label>
19
- <input id="default-price" value="10">
20
-
21
- <hr>
22
-
23
- <div id="react-sample"></div>
24
-
25
- <script src="//unpkg.com/react@16/umd/react.development.js"
26
- crossorigin></script>
27
- <script src="//unpkg.com/react-dom@16/umd/react-dom.development.js"
28
- crossorigin></script>
29
- <script src="//unpkg.com/babel-standalone@6/babel.min.js"></script>
30
- <script type="text/babel">
31
- 'use strict';
32
-
33
- class ReactSample extends React.Component {
34
- constructor(props) {
35
- super(props);
36
- this.state = {price: 0, total: 0};
37
- }
38
-
39
- handleChange = (ev) => {
40
- const price = ev.target.value;
41
- const total = (price * 1.1).toFixed()
42
- this.setState({price, total});
43
- }
44
-
45
- render() {
46
-
47
- return (
48
- <div>
49
- <p>
50
- <label>
51
- <strong>価格:</strong>
52
- <input value={this.state.price} onChange={this.handleChange}/>
53
- </label>
54
- </p>
55
- <p>
56
- <strong>税込:</strong><span>{this.state.total}</span>円
57
- </p>
58
- </div>
59
- );
60
- }
61
- }
62
-
63
- ReactDOM.render(
64
- React.createElement(ReactSample),
65
- document.getElementById('react-sample')
66
- );
67
- </script>
68
- </body>
69
- </html>
70
- ```
71
-
72
- ### 追記
73
- 実コードの修正コストの関係で標準価格のReact化は無しとさせてください。
74
-
75
- ### 試したこと
76
-
1
+ ### 前提・実現したいこと
2
+
3
+ React外の入力欄である標準価格(id=default-price)の値を変更するとReact内の入力欄である価格を更新する方法が知りたいです。
4
+
5
+ ![イメージ説明](https://d1666c7av167g2.cloudfront.net/questions/2022-01-12/647bb8a0-2cfc-4749-baa0-ae298127515c.png)
6
+
7
+ ### 該当のソースコード
8
+
9
+ ```html
10
+ <!DOCTYPE html>
11
+ <html lang="ja">
12
+ <head>
13
+ <meta charset="UTF-8">
14
+ <title>Reactテスト</title>
15
+ </head>
16
+ <body>
17
+ <label for="default-price">標準価格</label>
18
+ <input id="default-price" value="10">
19
+
20
+ <hr>
21
+
22
+ <div id="react-sample"></div>
23
+
24
+ <script src="//unpkg.com/react@16/umd/react.development.js"
25
+ crossorigin></script>
26
+ <script src="//unpkg.com/react-dom@16/umd/react-dom.development.js"
27
+ crossorigin></script>
28
+ <script src="//unpkg.com/babel-standalone@6/babel.min.js"></script>
29
+ <script type="text/babel">
30
+ 'use strict';
31
+
32
+ class ReactSample extends React.Component {
33
+ constructor(props) {
34
+ super(props);
35
+ this.state = {price: 0, total: 0};
36
+ }
37
+
38
+ handleChange = (ev) => {
39
+ const price = ev.target.value;
40
+ const total = (price * 1.1).toFixed()
41
+ this.setState({price, total});
42
+ }
43
+
44
+ render() {
45
+
46
+ return (
47
+ <div>
48
+ <p>
49
+ <label>
50
+ <strong>価格:</strong>
51
+ <input value={this.state.price} onChange={this.handleChange}/>
52
+ </label>
53
+ </p>
54
+ <p>
55
+ <strong>税込:</strong><span>{this.state.total}</span>円
56
+ </p>
57
+ </div>
58
+ );
59
+ }
60
+ }
61
+
62
+ ReactDOM.render(
63
+ React.createElement(ReactSample),
64
+ document.getElementById('react-sample')
65
+ );
66
+ </script>
67
+ </body>
68
+ </html>
69
+ ```
70
+
71
+ ### 試したこと
72
+
77
73
  標準価格をReactコンポーネントのpropsで渡すとかでできるのか試してみましたが、今のところ良い方法が見つかりません。

1

2022/01/06 23:55

投稿

mj29
mj29

スコア136

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- React外の入力欄である標準価格(id=default-price)の値を変更するとReact内の入力欄である価格を更新する方法が知りたいです。
3
+ React外の入力欄である標準価格(id=default-price)の値を変更するとReact内の入力欄である価格を更新する方法が知りたいです。
4
4
 
5
+
5
6
  ![イメージ説明](9c7a1331cbc25fc34ecf47470e8d0568.png)
6
7
 
7
8
  ### 該当のソースコード
@@ -68,6 +69,9 @@
68
69
  </html>
69
70
  ```
70
71
 
72
+ ### 追記
73
+ 実コードの修正コストの関係で標準価格のReact化は無しとさせてください。
74
+
71
75
  ### 試したこと
72
76
 
73
77
  標準価格をReactコンポーネントのpropsで渡すとかでできるのか試してみましたが、今のところ良い方法が見つかりません。