I want to set value in atom after calling API in selector because I have to add params to call API.
Atom
export const downloadData = atom({
key: 'downloadData',
default: [],
});
SelectorFamily
export const downloadDataResultsQuery = selectorFamily<Downloads[], string[]>({
key: 'downloadDataResultsQuery',
get:
(names) =>
({ get }) => {
const data = get(waitForAll(names.map((name) => downloadDataResultQuery(crateName))));
// ATTENTION: I wanna set value for `downloadData` here
return data;
},
});
AtomFamily
export const downloadDataResultsState = atomFamily<Downloads[], string[]>({
key: 'downloadDataResultsState',
default: (crateNames) => downloadDataResultsQuery(names),
});
I wanna get the download value without the parameter after calling downloadDataResultsState
like const downloadDataResults = useRecoilValue(downloadDataResultsState);
, but I couldn't find ways to do it.
Are there any way to do that?