私が間違っている場合は修正してください。ただし、現在、replace を使用してこれを行うことはできません。replace は監視可能な配列全体を置き換え、代わりにマップを使用する必要があるためです。
次のような観測可能な配列があります。
@observable questionsList = [];
サーバー呼び出しでは、それぞれが異なるid
フィールドを持つ 2 つのオブジェクトが読み込まれるため、次のようになります。
@observable questionsList = [
{id: 1,
question: "Is the earth flats?",
answer: "Some long answer here..."
{id: 2,
question: "Does the moon have life?"}
answer: "Some long answer here..."}
];
したがって、id の質問に1
はタイプミスがあり、修正が必要です。Is the earth flat?
以下を考えると:
const newQuestionId = 1;
const newQuestion = "Is the earth flat?"
const oldQuestion = this.questionsList.find(question => question.id === newQuestionId);
oldQuestion.replace(newQuestion) // Would be nice if this syntax worked
これで正しい質問ができましたが、配列oldQuestion
内のそれを新しい質問に置き換えるにはどうすればよい ですか? questionList
交換してみましたがダメでした。地図だけが唯一の方法ですか?もしそうなら、私は監視可能な配列でしか作業していないので、マップを機能させる方法がわかりません。
MobX を使用してこれを達成するにはどうすればよいですか?