React / JavaScript создает объекты модели данных - PullRequest
0 голосов
/ 29 января 2019

Я пришел из 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 для этого или каких-либо примеров, делающих подобные вещи, поэтому я мог бы попытаться найти решение для проблемы, которая нене существует.

...