Я пришел из breeze.js и TypeScript для реакции и Ecmascript.
Breeze - это библиотека состояний на стороне клиента.
Имеется функция createEntity , которая создаст ваш объект данных, который обычно соответствует вашей сущности на стороне сервера (C # Entity Framework для моего случая).
, например:
var newOrderDetail =
manager.createEntity<OrderDetail>('OrderDetail', {orderId: oid, productId: pid});
newOrderDetail теперь имеет все свойства заказа, с orderId и productId, установленными на передаваемые данные по умолчанию. И он набирается из TypeScript как интерфейс OrderDetail
Кажется странным, что я создаю это непосредственно на уровне штата, как будто я не очень хорошо понимаю, с чем я работаю.
this.state = {
orderId: oid,
productId: pid,
// .. all the other fields
};
Есть ли библиотека или стратегия, которая могла бы помочь сэтот?Было бы здорово сделать это:
this.state = createEntity('OrderDetail', {orderId: oid, productId: pid});
Могу ли я просто перевести объект класса в состояние или это плохая идея?
this.state = {
order: new Order()
}
Мне не нравится добавлять уровень в состояние, так как мне придется всегда проверять ноль.Если я не могу использовать объект класса в качестве состояния:
this.state = new Order();
Я не нашел ни одной клиентской библиотеки orm для этого или каких-либо примеров, делающих подобные вещи, поэтому я мог бы попытаться найти решение для проблемы, которая нене существует.