質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

2011閲覧

React.jsの変数をaタグのgetに入れる

jaaaaack

総合スコア38

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

1クリップ

投稿2017/12/03 18:51

ボタンを押したら数値が変わるプログラム

react.jsから取得した数値を使って、getで他のページに送信しようと思い、<a href="page3.html?id={this.state.counter}">リンク</a>と入れましたが、htmlで<a href="page3.html?id={this.state.counter}" data-reactid=".0.5">リンク</a>とそのまま吐き出されてしまいました。
どのように書いたら、hrefの中で変数を変換することができますか?
また、Reactの記入はES6に変更したいと思っているので、そのやり方も教えていただけるとありがたいです。

js

1var Button = React.createClass({ 2 localHandleClick: function(){ 3 this.props.localHandleClick(this.props.increment); 4 }, 5 render: function(){ 6 return ( 7 <button onClick={this.localHandleClick}>{this.props.increment}</button> 8 ); 9 } 10}); 11 12var Result = React.createClass({ 13 render: function(){ 14 return( 15 <div>{this.props.localCounter}</div> 16 ); 17 } 18}); 19 20var Main = React.createClass({ 21 getInitialState: function(){ 22 return {counter: 0}; 23 }, 24 //ボタンがクリックされたら 25 handleClick: function(increment){ 26 this.setState({counter:increment}); 27 }, 28 render: function(){ 29 return( 30 <div> 31 <Button localHandleClick={this.handleClick} increment={1} /> 32 <Button localHandleClick={this.handleClick} increment={2} /> 33 <Button localHandleClick={this.handleClick} increment={3} /> 34 <Button localHandleClick={this.handleClick} increment={4} /> 35 <Result localCounter={this.state.counter} /> 36   <a href="page3.html?id={this.state.counter}">リンク</a>//ここの部分 37 </div> 38 ); 39 } 40}); 41 42React.render( 43 <Main />, 44 document.getElementById("display_wrap") 45 ); 46

html

1<div id="display_wrap"></div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

React(JSX)では{}で囲まれた範囲が展開されますが、""の中にある{}は無視されます。なので、全体を{}で囲って、中で文字列として連結させる必要があります。

JavaScript

1href={"page3.html?id="+this.state.counter}

投稿2017/12/04 00:07

編集2017/12/04 00:07
masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問