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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

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

Q&A

0回答

5111閲覧

Reactで連打を防止したい

k10a

総合スコア35

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

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

0グッド

1クリップ

投稿2018/11/04 11:52

編集2018/11/04 14:13

ご閲覧頂きましてありがとうございます。

Reactで onClick() をした際に、連続クリックを防止したいです。
下記のStackOverflowのように、 disabled をstateで操作してみたのですが
ボタンを2回押さないと対応してくれなかったり、結局連続クリックを防止もできていませんでした。
https://stackoverflow.com/questions/35315872/reactjs-prevent-multiple-times-button-press

react posed のアニメーションで遷移を透明化で代用しています。

ソースコード

JavaScript

1 2// react posed でスクリーン遷移アニメーション 3const Screen = posed.div({ 4 hidden: { 5 opacity: 0, 6 }, 7 visible: { 8 opacity: 1, 9 } 10}); 11 12class App extends Component { 13 constructor(props) { 14 super(props); 15 this.state = { 16 screen: { 17 first: true, 18 second: false 19 }, 20 } 21 22 // 戻る処理 23 _firstBack = event => { 24 const screen = this.state.screen; 25 screen.first = truw; 26 screen.second = false; 27 this.setState({ 28 screen 29 }); 30 }; 31 32 return ( 33 <div className="App"> 34 <input 35 style={{ display: "none" }} 36 value={this.state.recipe_id} 37 id="recipe_id" 38 /> 39 <Screen 40 pose={this.state.screen.first ? "visible" : "hidden"} 41 > 42 画面1 43     </Screen> 44 <Screen 45 pose={this.state.screen.second ? "visible" : "hidden"} 46 > 47 画面2 48 49 <div onClick={this._firstBack}> 50 <span>もどる</span> 51 </div> 52     </Screen> 53

もどるを連続クリックすると、現状画面が重なってしまいます。
こちらの現象を防ぐ方法をご教示いただければと思います。

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

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

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

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

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

yukkuri

2018/11/04 12:24

すいません、java とタグが付いていますが、javascriptの間違いですか?あと、下記のStackOverflow、とありますが、リンクがないように見えるのですが。
k10a

2018/11/04 14:14

ご指摘ありがとうございます。追記および、タグの更新をさせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問