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

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

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

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

React.js

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

Q&A

解決済

1回答

1092閲覧

「Redux-saga」action実行後にリダイレクトしたい

jonybee

総合スコア8

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

React.js

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

0グッド

1クリップ

投稿2020/04/10 10:23

実現したいこと

redux-sagaにて
yeild putでactionをdispatchした後にwindow.locationでリダイレクトしたい

わかっていないこと

下記の場合、endGameが実行完了後に、backPageが実行されますでしょうか?

const backPage = () => window.location.href = "https://www.login.com/"; yield put(endGame(hoge)); yield call(backPage)

また、この書き方はそもそも正しいでしょうか?

助けていただけますと幸いです。よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは

backPageが実行されますでしょうか?

については、実行されると思います。試してみるとよいでしょう。

この書き方はそもそも正しいでしょうか?

call の使い方として正しいかどうかでいえば、特に間違ってなさそうです。呼び出す関数に引数を渡す場合は、 call(backPage) の backPage 後ろに渡せばよいです。

正しいかどうか?のもうひとつの観点として、saga の中で画面遷移してよいかどうか?あるいは、sagaの中で画面遷移するというやり方が、多くのReactエンジニアに好まれるかどうか?は微妙かもしれません。

手前味噌で恐縮ですが、自分は以前、

という記事を書き、sagaの中でAPIの結果に応じて、画面遷移させるコードを挙げましたが、過去の業務経験だと、このようなやり方で画面遷移させるのも選択肢のひとつとして使われる場合もありましたし、逆に、画面遷移させるコードは、Reactコンポーネントの中でやらないと、どの画面からどの画面へ切り替わるのかが分かりにくいということで、sagaの中での画面遷移は(記事のようなやり方でやろうと思えばできるのは分かっていても)やらない、という取り決めになっているところもありました。

以上、参考になれば幸いです。

投稿2020/04/10 12:26

編集2020/04/10 20:32
jun68ykt

総合スコア9058

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

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

jonybee

2020/04/10 14:35

ご回答ありがとうございます! 記事読まさせていただきました。 記事やご回答いただいた内容が私にとってとても参考になりました。 助けていただき本当にありがとうございます!
jun68ykt

2020/04/10 20:33

どういたしまして。 > とても参考になりました。 とのことでよかったです????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問