問題タブ [react-router-redux]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - Redux - 非同期アクションがディスパッチされたときに URL を変更する
私の React/Redux アプリケーションには、いくつかの非同期アクションがあります。ユーザーがgetData
サーバーへのリクエストを開始するとします。すぐに aGET_DATA_REQUEST
がディスパッチされ、getData
AJAX 呼び出しがサーバーに向かっています。
成功または失敗すると、それに応じてGET_DATA_SUCCESS
またはGET_DATA_FAILURE
アクションがディスパッチされ、データが UI にレンダリングされます。
react-router-redux
ここで、AJAX コールバックへの反応として、アプリケーションに ( を使用して) 履歴状態をプッシュさせたいと考えています。つまり、成功すると、ユーザーは別の URL (ルート) に「リダイレクト」され、新しく受信したデータに依存する別のモジュールが表示されます。
この機能をレデューサーに含めるのは非常に悪い考えだと思います。これはもはや純粋ではなくなるためです (URL の変更は副作用です)。
何かご意見は?
ありがとう
reactjs - redux状態の履歴は利用できませんが、reactコンポーネントで利用できます
私index.js
のように見えます:
そして私のようにRoot.js
見える:
そして私のconfigureStore.js
は次のようなものです:
routes.js
:
そして私のLoginView
コンポーネントは次のようなものです:
に関して非常に混乱していhistory
ます。私のコンポーネントではhistory
、小道具を取得しています。コンポーネントでthis.props.history
行ったように。console.log(this.props.history)
しかし、私の中でactions
はどうにもなりませんhistory
..
私の行動は次のようなものです:
ここでは取得できますが、取得できgetState()
ませんhistory
。
したい場合はredirect
?history
次のようにリダイレクトできるようにしたい:
history.pushState(null, '/dashboard')
誰でも私を助けることができます..?これには本当に困惑..
javascript - 反応ルーターは、すべての遷移で上にスクロールします
別のページに移動するときに問題が発生しました。その位置は前のページのままです。そのため、自動的に一番上にスクロールしません。window.scrollTo(0, 0)
また、onChange
ルーターで使用しようとしました。私もscrollBehavior
この問題を修正するために使用しましたが、うまくいきませんでした。これについて何か提案はありますか?
reactjs - ハイパーリンクのオンクリックを最も適切に処理する方法
私が欲しいのは、このように見える HTML をレンダリングすることです<a href="/page/my-cool-slug">My cool Slug</a>
。
つまり、誰かがリンクを右クリックして新しいタブで開くことができるということです。これにより、react-router が提供する豪華な pushState がバイパスされます。
ただし、誰かが通常のクリックを行った場合は、redux を更新して、新しいスラッグ (またはページネーション ページなど) が何であるかを伝え、 を呼び出す必要がありますbrowserHistory.push(...)
。
便利で簡単な方法が必要です。すべての混乱なしにこれらのほとんどすべてを行う何か。私のアプリケーションは次のようになります。
また、event.target
イベントハンドラーでa.href
属性を取得しようとしましたが、<a>
タグに<span>
要素が含まれているため、要素内でクリックしevent.target
たタグです。<span>
<a>
javascript - jsコードを使用してreactjs-routerを転送するには?
あなたがreactjsで転送を要求しているように見えるときは、リンクまたはボタンを配置し、消費者がそれをクリックすると、ページがルーターの対応するパスをリロードします。ここで、投稿をリクエストし、応答のステータスが 200 のときにルーターの他のパスにページをめくります。リンクまたはボタンを使用できません。reactjs はコードを使用してこれを行うことができますか? like : 特定のComponent.setPath(otherPath); 特定のComponent.turn; 私の英語力は貧弱で、私がやりたい機能を提供することが明確でないかもしれません。ありがとう!</p>
javascript - ルートは react-router(-redux) によって一致しません
react、redux、react-router、react-redux-router バインディングを使用して単一ページ アプリを作成するのに行き詰まっています。
サーバーは明らかにルートを認識していないため、ルートhttp://localhost:3001/register
は単にルーターによって一致せず、ブラウザーに返されます。Cannot GET /register
私は react-redux スタックに比較的慣れていないため、かなり基本的なものが欠けている可能性があります。
編集: IndexRoute は機能しており、App-Component 内に Home-Component を表示しています。
Edit2: サーバー側のレンダリングを使用しておらず、webpack-dev-server を使用して開発しています。
しかし、これまでのところ関連するコードスニペットは次のとおりです。
entry.js
reducers.js
ルート.js
Navigation.jsx (App.jsx 内でレンダリング)
たぶん、私がここで見逃していることは誰かにとって明らかです。さらにコードが必要な場合は、お知らせください。