我有一个钩子,看起来像这样(简化这个例子):
export const useOpeningHours = (
flight: Ref<FlightOption | null>,
identifier: string,
isEnabled?: boolean
) => {
if (!flight.value) {
return {
show: false,
gate: "",
};
}
}
const flight = ref<FlightOption | null>(null);
const { show: showOpeningHours } = useOpeningHours(
flight,
props.identifier,
true
);
因为我使用Ref<FlightOption | null>
,所以我希望当flight
改变时钩子会被“刷新”。然而,这并没有发生。我如何确保这个例子中的钩子是React性的呢?
2条答案
按热度按时间dgsult0t1#
既然你说这是简化的,我就把它当作一个复杂的事情来处理,你有三种方法
使用
ComputedRef
更多信息:https://vuejs.org/guide/essentials/computed.html#basic-example
这将返回
show
,gate
是一个ComputerRef
,它与show.value
相同如果使用
@vueuse/core
,则有一种更简单的方法使用React性
使用
Ref
4dbbbstv2#
尝试按如下方式使用计算属性:
像这样使用它: