扫码一下
查看教程更方便
usegetrecoilvalueinfo_unstable()
钩子函数允许组件 “窥视” atom 或者 selector 的当前状态、值和其他信息。这类似于 snapshot 中的 getinfo_unstable() 方法。
function usegetrecoilvalueinfo_unstable(): recoilvalue => atominfo;
interface atominfo {
loadable?: loadable;
isactive: boolean;
isset: boolean;
ismodified: boolean; // todo 是否报告已修改的 selectors
type: 'atom' | 'selector' | undefined; // 初始化之前暂时设定为 undefined
deps: iterable>;
subscribers: {
nodes: iterable>,
components: iterable,
};
}
interface componentinfo {
name: string;
}
它提供了一个可以通过 recoilvalue
传递的函数并且将会返回一个包含 atom/selector
当前信息的对象。它并不会导致任何 state 改变或者创建任何订阅。它主要用于调试或开发工具中。
调试信息正在改进中,但可能包括:
function buttontoshowcurrentsubscriptions() {
const getrecoilvalueinfo = usegetrecoilvalueinfo_unstable();
function onclick() {
const {subscribers} = getrecoilvalueinfo(myatom);
console.debug(
'current subscriber nodes:',
array.from(subscribers.nodes).map(({key})=>key),
);
}
return ;
}