Red*_*per 5 reactjs react-redux react-hooks redux-toolkit rtk-query
我使用 createApi 创建了端点:
export const postsApi = createApi({
reducerPath: 'postsApi',
baseQuery: fetchBaseQuery({baseUrl: 'https://jsonplaceholder.typicode.com/'}),
tagTypes: ['Post'],
endpoints: builder => ({
getPosts: builder.query<Post[], void>({
query: () => '/posts',
providesTags: ['Post'],
}),
}),
});
export const {useGetPostsQuery} = postsApi;
Run Code Online (Sandbox Code Playgroud)
如何useGetPostsQuery()仅在按下按钮时而不是在安装组件时使用组件中的钩子?
我尝试将其添加到组件中并且它有效,但我不确定这是否是最佳实践:
const [click, setClick] = useState<boolean>(true);
const {data, error, isLoading} = useGetPostsQuery(undefined, {skip: click});
Run Code Online (Sandbox Code Playgroud)
reb*_*san 10
与skip一起使用它的方式是有效的。另一种方法是使用 useLazyQuery 挂钩,该挂钩仅在触发时调用。
const [trigger, result] = useLazyGetPostsQuery();
const handleClick = () => {
trigger();
console.log(result.data);
};
Run Code Online (Sandbox Code Playgroud)
请参阅 RTK-Query 创建者的答案/sf/answers/4836929121/
| 归档时间: |
|
| 查看次数: |
12125 次 |
| 最近记录: |