redux-ormを使用する場合、モデルインスタンスの作成時に関連するデータをどのように追加しますか?例えばredux-ormのリレーションと一緒にモデルの新しいインスタンスを作成するにはどうすればいいですか?
次の二つのモデル与えられた:
// User
import {fk, many, Model} from 'redux-orm';
export default class User extends Model {
static modelName = 'User';
static fields = {
pets: many('Pet', 'pets'),
};
}
// Pet
import {fk, many, Model} from 'redux-orm';
export default class Pet extends Model {
static modelName = 'Pet';
static fields = {
user: fk('User', 'pets'),
};
}
私がペットモデルに減速を作成するには、次のようになります。
case 'PET/CREATE':
const newPet = Pet.create(action.payload);
newPet.user.add(action.parentId); // parentId is the user id
break;
このnewPet.userは未定義であるとしてしかし、エラーになります。私も、私も、ID再ルックアップしようとしてきた
case 'PET/CREATE':
const newPet = Pet.create(action.payload).withRefs;
newPet.user.add(action.parentId);
break;
withRefs
を試してみました。私にできることがわかっ
case 'PET/CREATE':
const newPet = Pet.create(action.payload);
// console.log(newPet.id); // correctly outputs id
Pet.withId(newPet.id).user.add(action.parentId);
break;
EDIT
を
const newPet = Pet.create({ ...action.payload, user: action.parentId });
しかし、肯定的ではないことが正しいアプローチであり、そのアクチュア正しくリンクされているので、今のところ質問を開いておいてください。
素晴らしいです。私は創造の後に準備ができていない関係(つまり 'const pet = Pet.create({}); typeof pet.user === 'undefined'')によって投げられたと思います。私はEloquent(laravels orm)に慣れているので、うまく働いていると見なされました。サイドノートは、あなたの提案に基づいて、redux-orm + draft/view/editモードを使用したサンプルレポと私の反応の下書き質問にコメントを追加しました。ありがとう! – Chris