我正在使用带有@reduxjs/TOOLKIT 1.9.1的REACTION 18.
在表单提交时,使用RTKMutations 触发POST API,并在组件中使用响应.页面导航成功.判断下面的代码.
const formSubmit = async (data) => {
const payload = {
...
};
try {
const response = await artistSearch(payload);
if (response) {
navigate("/artist-search-results", { state: { data } });
}
} catch (artistError) {
...
}
};
使用相关接口
export const artistApi = createApi({
reducerPath: "artistApi",
baseQuery: fetchBaseQuery({
baseUrl: `...`,
headers: { ... },
}),
endpoints: (builder) => ({
getArtist: builder.query({
query: (uid) => `/getProfile/${uid}`,
}),
artistSearch: builder.mutation({
query: (formData) => ({
url: "ArtistListSearch",
method: "POST",
body: formData,
}),
}),
}),
});
export const { useGetArtistQuery, useArtistSearchMutation } = artistApi;
现在,我无法在组件中使用artistSearch
个Mutations 响应数据,该组件仅在页面导航到的位置呈现. IOW,我也想在其他组件中使用artistSearch
个Mutations 响应数据.
我试过通过以下代码,但在控制台中未定义.
const [
artistSearch,
{
data: artistSearchResponse,
error: artistError,
isLoading: isArtistLoading
}
] = useArtistSearchMutation();
console.log("artist search data is:", artistSearchResponse);