[解決済み] React onClick と preventDefault() リンクのリフレッシュ/リダイレクト?
質問
reactでリンクをレンダリングしています。
render: ->
`<a className="upvotes" onClick={this.upvote}>upvote</a>`
そして、上記にはアップヴォート機能があります。
upvote: ->
// do stuff (ajax)
リンクの前はその場所にスパンを置いていたのですが、リンクに切り替える必要があり、ここで問題が発生しました。
.upvotes
をクリックするたびに、ページがリフレッシュされてしまうのです。
event.preventDefault() - 動作しません。
upvote: (e) ->
e.preventDefault()
// do stuff (ajax)
event.stopPropagation() - 動作しません。
upvote: (e) ->
e.stopPropagation()
// do stuff (ajax)
return false - 動作しません。
upvote: (e) ->
// do stuff (ajax)
return false
私はまた、私のindex.htmlでjQueryを使用して上記のすべてを試してみましたが、何も動作しないようです。ここでどうすればいいのか、何が間違っているのか?event.typeを確認したところ、それは
click
であるため、私は何とかしてリダイレクトを回避することができるはずだと思います?
すみません、Reactに関しては初心者なんです。
ありがとうございます!
どのように解決するのですか?
Reactのイベントは、実はNative Eventではなく、Synthetic Eventです。そのため はこちら :
<ブロッククオートイベントのデリゲーション React は実際にはイベントハンドラをノード自体にアタッチしません。React が起動すると、単一のイベント リスナーを使用してトップ レベルですべてのイベントのリッスンを開始します。コンポーネントがマウントまたはアンマウントされると、イベントハンドラは単に内部マッピングから追加または削除されます。イベントが発生すると、React はこのマッピングを使用してイベントをディスパッチする方法を知っています。マッピングにイベントハンドラが残っていない場合、Reactのイベントハンドラは単純なno-opsになります。
を使ってみる Use
Event.stopImmediatePropagation
:
upvote: (e) ->
e.stopPropagation();
e.nativeEvent.stopImmediatePropagation();
関連
-
[解決済み】React Propsが定義されていません。
-
[解決済み] react - createMuiThemeとcreateThemeの違い。
-
[解決済み] 非必須項目に対するYupバリデーション
-
[解決済み] sh: react-scripts: npm start の実行後にコマンドが見つからない。
-
[解決済み] validateDOMNesting警告React
-
[解決済み] Static HTML elements with event handlers require a role." を修正するにはどうすればよいですか?
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] React jsのonClickはメソッドに値を渡すことができない
-
[解決済み] Reactのstateとpropsの違いとは?
-
[解決済み] Reactでes6クラスを使うときの「super()」と「super(props)」の違いとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Typescript react - モジュール ''react-materialize'' の宣言ファイルが見つかりませんでした。'path/to/module-name.js' は暗黙のうちに any 型を持ちます。
-
[解決済み] バベルエラーです。JSX値は、式または引用されたJSXテキストのいずれかである必要があります。
-
[解決済み] configuration.module に未知のプロパティ 'loaders' があります。
-
[解決済み] リアクトです。<tr>は<td>の子として表示できません。コメント > td > tr を参照してください。
-
[解決済み] 非必須項目に対するYupバリデーション
-
[解決済み] ReactJS - SCRIPT1010: 期待される識別子 - IE11 で本番ビルドが実行されない
-
[解決済み] は、gatsby-imageで動作する良いreactのカルーセルコンポーネントはありますか?[って聞かれます。]
-
[解決済み] アクシオスは定義されていません
-
[解決済み] React Router - バージョン更新後のwithRouterでTypescriptエラーが発生する。
-
[解決済み] Reactプロジェクトに.envファイルを追加する