問題タブ [mobx]

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 に答える
654 参照

reactjs - webpack を使用してバンドルから mobx と mobx-react を除外する方法

ブラウザでキャッシュできるように、それらをバンドルから除外したいと思います。これといくつかのバリエーションを試しましたが、webpack.config.js で成功しませんでした。react と react-dom は正常に動作します。

私はそれらを私のindex.htmlに取り入れています

このエラーが発生しています:

ご協力いただきありがとうございます。

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

javascript - オブジェクトの MobX 配列でのディープ自動実行

Githubでこの問題を確認し、stackoverflow でこの質問を確認しましたが、データ構造の自動実行をトリガーする方法がまだわかりません。ストレージから json オブジェクトとしてデータを取得します。

新しいオブジェクトがデータ配列に追加されるたび、またはオブジェクトのフィールド値が変更されるたびに自動実行を実行するにはどうすればよいですか?

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

mobx - MobX - 複数のストア配列アイテムを一度に更新しますか?

スタック オーバーフローの例として 4 つのストアがあります。

最初の 3 店舗にはそれぞれ@observable questionsList = [];

に質問が入力されると、これら 3 つのストアのいずれからでも質問にアクセスできますquestionsList。現在選択されている@observable currentQuestion質問は、CurrentQuestionStore

ユーザーが に賛成票を投じた場合、currentQuestionを使用して現在の質問のカウントを増やすだけですCurrentQuestionStore.currentQuestion.upvotes++が、これは他の 3 つのストアの最新の賛成票カウントを反映していません。

問題は、質問が他の 3 つのストアのいずれにも存在しない可能性があることです。そのquestionlistsため、MobX を使用してこれにアプローチする最善の方法は何でしょうか? questionId = 1したがって、存在する場合は、すべての店舗でこれの最新のカウントを更新できます。タイトル、回答数、またはその他の属性を変更すると、同じ状況が発生します。currentQuestion

ストア全体で属性の変更を一度に反映する最善の方法は何ですか?

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

javascript - mobx: array.map() は関数ではありません

mobx次のように使用してストアを作成しました。

次に、React ビューでそのストアを観察します。

最初のレンダリングでは、私のビューは問題なく動作します (ただし、配列Feedには項目がありません)。InfluencerFeedStore.data

後で を呼び出してアイテムをロードするとInfluencerFeedStore.setData()、React はビューを正しく再レンダリングしようとしFeedます (mobx オブザーバブルが更新されたことに気付いたため)... しかし、InfluencerFeedStore.data.map is not a function.

ドキュメントを読んでからmobx、プロパティの再割り当てdataは配列であるため問題があることがわかりました(文字列などの他のデータ型は「うまく機能する」)。ここで私が間違っていることを誰かに教えてもらえますか?

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

reactjs - Mobx : トランザクション

Q1:observablearray.replace を使用する場合、トランザクションは必要ですか?

このリンクに従って https://mobxjs.github.io/mobx/refguide/transaction.html

各項目のプッシュ時に記載しました。

Q2:Transaction はパフォーマンスを向上させますか、それとも単にラップして、トランザクションが完了した後にのみレンダリングが行われるようにしますか?

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

unit-testing - 複数のストアが注入された MobX オブザーバー コンポーネントのユニット テストに問題がある

MobX inject デコレータに関する私の理解では、Enzyme を使用すると、単体テストでストアを簡単に初期化し、マウントしているコンポーネントに小道具として渡すことができるはずです。[src: https://semaphoreci.com/community/tutorials/how-to-test-react-and-mobx-with-jestを開き、統合テスト セクションまでスクロールします。エラー。これは、複数のストアを注入している場合に特に問題になる傾向があります。

だから私のコンポーネントでは:

私のテストは次のようになります。

ここで他の種類のプロバイダーが必要ですか、それとも明らかな何かが欠けているだけですか?

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

javascript - MobX autorun firing just once

I am learning MobX and cannot understand why autorun is only firing once...

#xA;

jsFiddle: https://jsfiddle.net/1vmtzn27/

This is a very simple setup, and the setInterval is changing the value of my observable array every second but autorun is not fired... any idea why?