問題タブ [react-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.

0 投票する
2 に答える
39214 参照

javascript - 「ステートレス関数コンポーネントに参照を与えることはできません」とはどういう意味ですか?

私はこれを持っています:

そして私は得る:

警告: ステートレスな関数コンポーネントに参照を与えることはできません (Connect(ProjectsSummaryLayout) によって作成された ProjectsSummaryLayout の参照 "wrappedInstance" を参照してください)。この参照にアクセスしようとすると失敗します。

それは私に何を伝えようとしているのですか?私は実際に何か間違ったことをしていますか?

ここでこれについての議論を見ていますが、残念ながら私は単に結論を理解していません。

0 投票する
1 に答える
1320 参照

javascript - react jsでn個のレベルでディレクトリ構造データをレンダリングする

次のようなディレクトリ構造のサンプルデータセットがあります

http://www.jsoneditoronline.org/?id=f9ce34de42f1a395e172f81c0c850da1

ディレクトリと同様に、レベルは n 個の数値にすることができます。

反応では、このデータを使用して onClick イベントでディレクトリ構造を作成したいと考えています。たとえば、最初のページではルート ディレクトリの子が表示され、最初の子をクリックすると、最初の子の子が表示されます。

ここに画像の説明を入力

これは私が望むものです。最初は、ルート レベルで 3 つのフォルダーしか表示されませんでした。

ここに画像の説明を入力

レベル 1 で child2 をクリックすると、他の 2 つの子が表示され、

サンプル画像

もう一度子 2 をクリックすると、その 2 つの子が表示されました。他のディレクトリをクリックすると、その子が表示されるはずです。

reduxを使用してreactJsに実装する正しい方法を教えてください。ありがとう

0 投票する
2 に答える
2313 参照

reactjs - setRouteLeaveHook を介して設定されたルート脱退フックを手動で削除します

特定のルートの setRouteLeaveHook を手動で削除する方法を知りたいです。このページでは、ほとんどの場合手動でこれを行う必要はないと述べていますが、必要な場合にこれを行う方法については言及していません。

ほとんどの場合、ルート脱退フックを手動で破棄する必要はありません。関連付けられたルートを離れた後、アタッチされたすべてのルート離脱フックを自動的に削除します。

その理由は、おそらく例を通して最もよく説明されています。

私が抱えている問題は にありacceptBtnます。redux-formsresetForm()関数を呼び出した後、Editor コンポーネントはまだ更新されていません (新しい props で、理由はわかりません)。これは、dispatch(push(nextLocation));呼び出されたときに dirty がまだ true に設定されていることを意味します。

フローは次のようになります。

  1. リンクをクリックすると、別のルートになります。
  2. routerWillLeave が初めて呼び出されます。私のダイアログを表示するいくつかのアクションをディスパッチします(2つのボタンが受け入れて拒否します)。
  3. acceptBtn が初めてクリックされると、routeWillLeave が再度呼び出されます (まだフックされているため)。この時点で何らかの理由で、resetForm()ディスパッチされたにもかかわらず、コンポーネントがまだ更新されていないためdirty == true、同じコード ブロックが再度実行されます。
  4. acceptBtn を 2 回クリックすると、routerWillLeave が再度トリガーされますが、今回dirty == falseは true が返され、ルートが変更されます。

最初にクリックした後にディスパッチされたアクションは次のとおりacceptBtnです。

これは 2 回目のクリック後です。

その結果、私がやりたかったことは、acceptBtn のハンドラー関数内のフックを削除することでした。これは可能ですか?または、私が間違っていること、またはこれを達成するためのより良い方法がありますか?

0 投票する
1 に答える
86 参照

javascript - 反応コンポーネントでプロパティを参照する方法を理解する

この基本的なコンポーネントを取得してthisオブジェクトを認識させることができません。何を試してもエラーが発生します。

キャッチされていない TypeError: 未定義のプロパティ 'getEvents' を読み取ることができません

これは、機能しようとしているコードです。

実行時に undefined が定義されていないのはなぜですかthis? また、これが実際に必要なものを参照するにはどうすればよいですか?

0 投票する
1 に答える
262 参照

javascript - いくつかのユーティリティでreduxボイラープレートを削減しようとしています

このリンクで試しているアプローチに何か問題があるのではないかと思っていました: https://t.co/WSV81eDwkr

基本的には、新しいアクションを追加するときにアクション ファイルのみを変更するという考え方です。私が考えている改善の1つは、アクションから渡されたステータスをリデューサーの状態と再帰的にマージすることです。お知らせ下さい

0 投票する
1 に答える
251 参照

reactjs - 単純なコンポーネントをアプリに含めるときのエラー (react/redux)

https://github.com/coryhouse/react-slingshot/に基づくボイラープレートを用意しました。FuelSavings アプリを削除し、正常に動作するアプリに置き換えましたが、コンポーネントを作成しました。それをアプリの下に含めると、レンダリングが妨げられます (白いページが表示されます)。

<UserHeader />タグを App.jsに追加すると、3 つのエラーが発生します。

  • 「警告: React.createElement: type は null、undefined、boolean、または数値であってはなりません。文字列 (DOM 要素の場合) または ReactClass (複合コンポーネントの場合) である必要があります。 の render メソッドを確認してくださいApp。」
  • Uncaught Invariant Violation: 要素の型が無効です: 文字列 (組み込みコンポーネントの場合) またはクラス/関数 (複合コンポーネントの場合) が必要ですが、取得したのは未定義です。のレンダリング方法を確認してくださいApp
  • キャッチされていない TypeError: 未定義のプロパティ 'props' を読み取れません

タグを削除するUserHeaderと、ページの残りの部分が問題なく読み込まれます。

src/コンポーネント/App.js

src/components/UserHeader.js

どんな考えでも大歓迎です。サーバー自体にはまったく問題はありません。小道具の検証が欠落しているという警告だけです。この問題は、コードのUserHeader実行を妨げています。私は方法を知るのに十分な経験がありません!

0 投票する
1 に答える
146 参照

ruby-on-rails - Fetch: コンテンツ タイプが変更されるのはなぜですか?

これは一種の 2 つの質問を 1 つにまとめたものです。私は Rails ではかなりしっかりしていますが、react/redux の初心者であり、react/redux アプリでの認証の実装に苦労しています。

私が構築した Rails 4 API があります。それはよくテストされ、しっかりしています。私の Rails API は devise-token-auth gem を使用しています。

それでも、リクエストを送信すると、API は a を返し、401 Unauthorizedリクエストは失敗します。

サーバー ログを確認すると、リクエストに対して送信した本文が表示されません。

ブラウザのネットワーク ビューでsign_inリクエストを確認すると、次のようなリクエストが表示されます。

content-type が になっていることがわかりますtext/plain。(「accept」が小文字なのが面白い…それも気になります。)

誰かが私に何が起こっているのか説明できますか?