我正在阅读Redux Without Profanity,作者说如下:
声明性数据加载的趋势主要有利于此模型 因为这更容易使用。较新的React框架,如Falcor, GraphQL和Resolver还可以自动批量处理和重复数据删除。 它也可以使用简单的Redux动作组合实现 与自动化。
作者使用"声明性数据加载"有点无趣,所以我认为它必须是一个广为人知且非常明显的术语。但是我用谷歌搜索它并没有找到太多东西。不幸的是,作者认为这是明显的先验知识。请帮忙!
有人可以提供快速解释和示例并置"声明性数据加载"你的平均http / ajax数据来自一个简单的MEAN堆栈待办事项列表?
答案 0 :(得分:1)
声明性数据加载和http / ajax数据加载之间的根本区别在于声明性编程和命令式编程之间的区别。使用声明式方法,您只需提及您需要的以及所有。另一方面,通过命令式方法,您还需要告诉步骤,即如何来获得您需要的东西。
让我们来看看以下example of Relay's declarative data loading。它告诉每个派系,它想要这些数据:id,factionId,name,ships以及AddShipMutation
想要派系的数据。如何获取数据是抽象的。
fragments: {
factions: () => Relay.QL`
fragment on Faction @relay(plural: true) {
id,
factionId,
name,
ships(first: 10) {
edges {
node {
id
${StarWarsShip.getFragment('ship')}
}
}
}
${AddShipMutation.getFragment('faction')},
}
`,
},
对于使用HTTP或AJAX加载数据,我们必须指定如何获取数据。
希望这有帮助!