我有一个GraphQl解析器,可以解析嵌套数据。
例如这是我的类型定义
<View style={styles.node}>
<PercentageBar value={item.progress} />
</View>
对于帖子,我有我的解析器,用于将post._id解析为
constructor(props) {
super(props);
this.state = {
animHeight: new Animated.Value(this.props.value),
};
}
componentDidMount() {
Animated.timing(this.state.animHeight,
{
toValue: this.props.value,
duration: 200,
}
).start();
}
<View style={styles.background}>
<Animated.View style={{height: this.state.animHeight.interpolate({
inputRange: [0, 1],
outputRange: ['0%', '100%'],
}}></Animated.View>
</View>
当我查询
时,上面的示例工作得很好type Users {
_id: String
company: Company
}
但是问题是有时候我不必在Users: {
company: (instance, arguments, context, info) => {
return instance.company && Company.find({_id: instance.company});
}
}
内使用Query {
Users {
_id
name
username
company {
_id
PAN
address
}
}
}
解析器,因为它与用户一起使用,所以我只需要传递用户对象中的内容(不这里需要数据库调用)
我可以通过检查instance.company是否为_id或company
来实现这一点,如果Users
是从数据库中获取的,否则可以解决所有问题。
但是问题是我在很多地方都有这类解析器,所以我认为在有解析器的所有地方进行此检查不是一个好主意。
有没有更好的方法可以定义配置以跳过此解析器检查。
任何反馈或建议将不胜感激。
谢谢