国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? ? ????? JS ???? NextJS? CRUD ?????

NextJS? CRUD ?????

Dec 15, 2024 pm 05:47 PM

Mastering CRUD with NextJS

? ???? CRUD ??? ?? ?? ???? ??? ??? ?????. ??? ?????? ??? ?? ????? ?? ?? ??????? ???? ?????.

NestJS Boilerplate ???? ?? ???? ?? ??? ???? ??? ? ?? ??? ? ??? CLI? ???? ??? ? ?????. ? ??? ???? ?? ? ?? ???? ???? ??? ?? CRUD ??? ???? ??? ??? ??? ? ????. ??, ??? ???? ??? ??? BC Boilerplates ????? ??? ??? ???? ?? ???? ???? Extensive-React-Boilerplate? ???? ????(?????? ??? ???? ???? ? ? ??). ?? ????? ???? CRUD ??? ???????.

?? ? ??? ??? ?? React ?????? Next.js??? ??, SEO ? ??? ??? ????? ??? ?? ??? ??? ????? ??? ? ????. ??? ??? NextJS ????? ???? ???? ??? ?? ??? ????? ?? ? ??? Next.js?? API ??? ?? ??? ???? ???? ????.

????? CRUD? ??(Create), ??(Read), ????(Update), ??(Delete)? ?????. ? ??? ?? ???? ?? ??? ? ?? ?? ??? ?????. ???? ?? ?? ??? ?? ??? ??, ??, ??? ?? ??? ???? ?? ?? ???? ?? ???? CRUD ?? ??? ??? ?????. ???? ???? ??? ?? React ??? React ???? ??? ??, ??? ??, ?? ?? ?? ???? ?? Extensive-React-Boilerplate? ???? ????. ??? ? ???? ?? ??? ? ????. ?? ????? ??? ?? ??? ?? ???? ???????.

?? ??

?? ??: ???? ???? ? ???? ?????(?: ??? ??, ? ?? ??).
??: ???? ???? ????, ??? POST ??? ???, ??? ????, ?? ?? UI? ???????.

?? ???????. API? ?? POST ??? ? ??? ??? ???????. ?? ?? ????? usePostUserService ??? ? ??? ????? ? ?????. ?? ? ?? ??? ???? ? ???? ???? ?? ??? ??? ????? ???? ??? ? ??? ? ??? ?????. Extensive-React-Boilerplate ????? ? ??? ??? ? ??? ??? ? ? ????. ???? ? ??? ??? ?? ?? ???? ??? ?? ?????.
??? useFetch ??? ???? POST ??? ??? ??? ?? ?? usePostUserService? ???????. ??? ???? ???? ?? API? ????.

function usePostUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserPostRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users`, {
        method: "POST",
        body: JSON.stringify(data),
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserPostResponse>);
    },
    [fetch]
  );
}

wrapperFetchJsonResponse ??? ? ??? ????? "?? ??"? ?? ???????.

?? ??

?? ??: ??? ?? ?? ?? ???? ???? ?????(?: ??? ??? ? ?? ?? ????).
??: GET ??? ?? ???? ????, ?? ? ?? ??? ????, UI?? ???? ??????.

? ??? ???? ?? ???? ??? ???? ???? ?? API? GET ??? ?? ??? ?????. ??(UsersRequest)? ?? ??(UsersResponse)? ??? ? ??? ???, ??? ???? ?? ???? ???? ID?? ?? ???? ????? ???? ??? ??? ? ????.
??? ?? useGetUsersService ???? ?? ???? ?????? ?? ??? ??, ?? ? ??? ?? ?? ????? ?? GET ??? ????.

function useGetUsersService() {
  const fetch = useFetch();

  return useCallback(
    (data: UsersRequest, requestConfig?: RequestConfigType) => {
      const requestUrl = new URL(`${API_URL}/v1/users`);
      requestUrl.searchParams.append("page", data.page.toString());
      requestUrl.searchParams.append("limit", data.limit.toString());
      if (data.filters) {
        requestUrl.searchParams.append("filters", JSON.stringify(data.filters));
      }
      if (data.sort) {
        requestUrl.searchParams.append("sort", JSON.stringify(data.sort));
      }

      return fetch(requestUrl, {
        method: "GET",
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UsersResponse>);
    },
    [fetch]
  );
}

?? ???? ???? ?? useGetUserService ??? GET ??? ?? ID?? ???? ?????.

function useGetUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users/${data.id}`, {
        method: "GET",
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserResponse>);
    },
    [fetch]
  );
}

???? ??

?? ??: ?? ??? ??(?: ??? ?? ????, ??? ??? ??)
??: ????? ???? ????, ??? PUT ?? PATCH ??? ???, ??? ????, UI? ???????.

????? ??? ???? API? PATCH ??? ??? ?? ??? ????? ??? ?????. ?? ?? ??? ?? usePatchUserService ???? ?? UserPatchRequest ? ?? ?? UserPatchResponse:
? ??? ? ??? ID? ????? ???? ??? PATCH ??? ????.

function usePatchUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserPatchRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users/${data.id}`, {
        method: "PATCH",
        body: JSON.stringify(data.data),
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserPatchResponse>);
    },
    [fetch]
  );
}

??: ?? ??? ?????? PUT ?? PATCH? ???? ?? ? ??? ??, PUT? ????? ?? ??? ????? ?????.

?? ??

?? ??: ??? ??(?: ??? ?? ?? ???? ?? ??)
??: ??? DELETE ??? ???, ??? ????, ??? ????? UI? ???????.

?? ??? ??? ???? ??? ID? ?? API? DELETE ??? ??? ??? ?????. useDeleteUsersService ??? ??(UsersDeleteRequest)? ?? ??(UsersDeleteResponse)? ??? ? ID?? ???? ???? ?? DELETE ??? ?????.

function usePostUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserPostRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users`, {
        method: "POST",
        body: JSON.stringify(data),
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserPostResponse>);
    },
    [fetch]
  );
}

??? ??? HTTP ?? ?? ? ?? ??? ???? ??????. ??? ?? ??? ???? ??? ???? ??? ????? ?? ?? ???? ??? ????? ???? ?? ?? ??? ?????? ?????.

Next.js?? ??? ??

?, ??? CRUD ??? ???? ?? ???? Next.js? ???? ???? ?? ??? ??? ???????. Next.js? ??????? React? ??? ???? ???? ?????. Next.js? CSR(????? ? ???)? ?? SSR(?? ? ???), SSG(?? ??? ??), ?? API ?? ? ????? ???? ?????. ?? Next.js? React?? ???? ??? ?? ???? ???? ?? ??? ?????.

React ?? ??? ????????? ?? ??? ?? ? ??????? ??? ????? ?????. ???? ??? ??? ???? ???? ?? ?? ???? ??

SSR? ???? ?? ? ?????. ? ?? ?? ? ???? ???? ?????. ???? ?? ???? ?? ?? ???? ??? SSG? ?? ?? ??? ???? ?????. ??? getStaticProps ????
?? ? ???? ???? ? ??? ???(SSG). ?? ??? ?? ? ??? ???? ???? ???? ?? ????? ?? ?? getStaticPaths ???? ???? ?? ??? ? ????. ?? ? ?? ??? ???? ?? getStaticProps? ?? ?????. Next 14??? ??? ??? ?? ?? ???? ?? ??? ? ?? ?? "React ??"? ????? ?? ???? ???.

useQuery? ??? ????? ? ??? ????? ????? ??? ???? ???? ?? ??? ?? ??? ??? ? ???, ?? ??? ?? ??? ??? ????? ?????. ?? ???? ???? ????? ????? ? ?? ??? ???? ?? useSWR ??? ?????. ?? ? ???? ?? ????? ? ???? ???? ?? React ?????. ????? ?? ??? ?? ?? ????? ??? ???? ??? ? ????. ???? ???? ?? ? ?? SSR? ???? ???? ???? ??? ??? ? ???? ?? ???? ? ???? ??? ? ????.

? ??? ?? ??? ???? ?? Next.js? ??? ??? ???? ??? ?? ???? ??? ???? ?? ???? ??? ???? ?? ??? ??? ? ????.

Method Data Fetching Timing Use Case
getStaticPaths Static Site Generation (SSG) At build time Pre-render pages for dynamic routes based on data available at build time.
getStaticProps Static Site Generation (SSG) At build time Pre-render pages with static content at build time. Ideal for content that doesn't change frequently.
getServerSideProps Server-Side Rendering (SSR) On each request Fetch data on the server for each request, providing up-to-date content. Ideal for dynamic content that changes frequently.
useQuery Client-Side Rendering (CSR) After the initial page load Fetch initial data server-side, hydrate, reduce redundant network requests, Background Refetching.
useSWR Client-Side Rendering (CSR) After the initial page load Fetch and revalidate data on the client-side, suitable for frequently changing data.

Next.js? ?? React ?? ??

React ??? ?? ?? ????, ??, ??? ? ????? ?? ??? ????? React ? Next.js ?????? ???? ???? ???? ?? ??? ?????. ??? ?? ??? ??? ????.

  • ???? ??? ????: ?? ? ????? ??? ???? ???? ?? ???? ??? ????.
  • ?? ?? ????: ???? ???? ??????? ???? ?? ????? UI? ?? ?? ??? ?????.
  • ?? ?? ??: ?? ?? ? ??? ?? ??? ???? ?? ???? ?? ? ?? ??? ? ?? ??? ? ????.
  • ??? ????: useMutation ??? ?? ??? ??? ?? ??? UI ?? ??? ?? ??? ?? ??? ? ?? ?? ??? ???? ??? ????? ?????.
  • Next.js?? ?? ???: getStaticProps ?? getServerSideProps(??? ??)? ?? ?? Next.js ??? ???? ???? ???? ??? ? ????.
  • ?? ? ?? ??: ReactQueryDevtools ??? ?? ?? ?? ? ??? ??, ???, ?? ? ?? ?? ??? ? ? ?? ???? ???? ??????? ??? ? ?? ?? ????? ????? ??? ? ????. .

??????? ???

QueryClientProvider? React ?? ?? ??? QueryClient ????? ???? ???? ??? ?? ?????. ? ????? useQuery? ?? ??? ???? ? ?????. ?? ????? ?? ?? ??? ??? ???? ??? ??, ?? ?? ?? ?? ?? ? ??? ?? ?? ??? ???? ???. ?? ?? React Query ?????? ????? ?????? ???? ??? ? ??? ???.

function usePostUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserPostRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users`, {
        method: "POST",
        body: JSON.stringify(data),
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserPostResponse>);
    },
    [fetch]
  );
}

???? ? ????? ???? ???? ??? ?? ??? ?????.

  • ?? ??? ??? ?? ?? ??? ??.
  • ?? React ??????? ?? ???? ??? ? ????.
  • ??, ????? ?? ????, ?? ??? ?? ??? ??????.

React ?? ?? ??

React Query? ???? ? ?? ??? ??? React Query ??? ???? ????? ?? ?? ??? React Query Devtools???. ??????? ?? ???? ???? ??? ?? ?????? ?? ?? ?? ?? ??? ???? ? ????.
?? ?? React Query Devtools? ???? ?? ?? ? ??? ????, ?? ??? ?????? ??? ???? ?? ?? ??? ??????, ??? ??? ?? ??? ????? ??? ? ????.

??? ?? ? ?? ???

????? ??? ???? ??? ?? ??? ?? ???? ????? useInfiniteQuery? ?? ?????. ??, React Query?? ??? ???? ???? ?? ?? ?? ?????. ??? by ???? ?? ? ??? ??? ???? ??? ?? ?????.

function usePostUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserPostRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users`, {
        method: "POST",
        body: JSON.stringify(data),
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserPostResponse>);
    },
    [fetch]
  );
}

?? ?? React Query? useInfiniteQuery ??? ???? ?? ?? ?? ???? ??? useGetUsersService ??? ?????.

function useGetUsersService() {
  const fetch = useFetch();

  return useCallback(
    (data: UsersRequest, requestConfig?: RequestConfigType) => {
      const requestUrl = new URL(`${API_URL}/v1/users`);
      requestUrl.searchParams.append("page", data.page.toString());
      requestUrl.searchParams.append("limit", data.limit.toString());
      if (data.filters) {
        requestUrl.searchParams.append("filters", JSON.stringify(data.filters));
      }
      if (data.sort) {
        requestUrl.searchParams.append("sort", JSON.stringify(data.sort));
      }

      return fetch(requestUrl, {
        method: "GET",
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UsersResponse>);
    },
    [fetch]
  );
}

??? QueryFn? ?? ???, ?? ? ?? ????? ???? ??? ???? ????, getNextPageParam ??? ??? ???? ??? ???? ??? ?? ???? ?????. ???? ?????? ?? ???? ???? useInfiniteQuery? nextPage ????? ???? ?? ??? ??? ???? ?????. ??? ?? ???? ???? ?????. ??? ?? ??? gcTime ????? ?? ?????.

????? React Query? React ??????? ?? ??? ???? ????? ?? ???? ???? ?????. QueryClientProvider? ?? ??? ??? ?? ?? ????? ??? ??? ???? ??, ReactQueryDevtools? ?? ?? ?? ??? ???? ???? ?? ??? ??? ?????.

?? ??

CRUD ??? ????? ??? ???? ?????? ???? ???? ?? ?? ??? ?? ??? ?????. ?? ??? ????? ????? ?? ?? ??, ?? ?? ??, ??? ???, ??? ?? ?? ?? ?? ??? ??? ??? ????. ?? ??? ?? Extensive-react-boilerplate? WrapperFetchJsonResponse ?? ??? ?????.

function useGetUserService() {
  const fetch = useFetch();
  return useCallback(
    (data: UserRequest, requestConfig?: RequestConfigType) => {
      return fetch(`${API_URL}/v1/users/${data.id}`, {
        method: "GET",
        ...requestConfig,
      }).then(wrapperFetchJsonResponse<UserResponse>);
    },
    [fetch]
  );
}

??

? ????? ???? CRUD ??? ??? NextJS? ??? ?? ??? ???????. ??? React Query? ???? ??? ???? ??? ?????, ??? ?? ??? ? ???? ?? QueryClientProvider ? ReactQueryDevtools? ??? ???? ??????. ?? ??? ??? ??? ???? ?? ??? ?? ? ?? ??? ??? ?? ???? ?? ??? ???? ??????? ???? ??? ??? ??? ??? ??????.

? ??? ??? ??? ??? ??? ?? NextJS ?????? CRUD ??? ??? ? ?? ??? ??? ???. ?? ????? Extensive-react-boilerplate ???? ??? ? ????. CLI? ???? ?? ? ? ?? ? ? ?? CRUD ??? ??? ? ?? ??? ???? ???? ???? Nestjs-boilerplate ???? ????. ??? ??? ???? ??? ???? ??? ??????. ???? ????, ?? ??? ?? ?? ??? ????, ????? ???? ? ???? ??? ???.

BC Boilerplates ?? ?? ??? ??? ? ?? ??? ???? ????. GitHub ???? ?? ??? ?? ???? ??? ?? ????.

? ??? ?? ??? Olena Vlasenko? Vlad Shchepotin??

? ??? NextJS? CRUD ?????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

?? ????
1783
16
Cakephp ????
1728
56
??? ????
1577
28
PHP ????
1442
31
???
Java vs. JavaScript : ??? ????? Java vs. JavaScript : ??? ????? Jun 20, 2025 am 12:27 AM

Java ? JavaScript? ?? ?? ????? ??? ?? ?? ?? ???? ????? ?????. Java? ??? ? ??? ?????? ??? ???? JavaScript? ?? ? ??? ??? ?????.

JavaScript ?? : ?? ?? JavaScript ?? : ?? ?? Jun 19, 2025 am 12:40 AM

JavaScriptCommentsareEnsentialformaining, ?? ? ???? 1) Single-LinecommentsERUSEDFORQUICKEXPLANATIONS.2) Multi-linecommentSexplaincleClexLogicOrprovidedEdeDDocumentation.3) inlineecommentsClarifySpecificPartSofcode.bestPractic

JS? ??? ???? ???? ??? JS? ??? ???? ???? ??? Jul 01, 2025 am 01:27 AM

JavaScript?? ??? ??? ?? ? ? ?? ??? ???????. 1. ?? ??? ??? ???? ?? ??? ????. ISO ?? ???? ???? ???? ???? ?? ????. 2. ?? ??? ?? ???? ??? ?? ???? ??? ? ??? ? ?? 0?? ????? ?? ??????. 3. ?? ?? ???? ???? ???? ?? ?????? ??? ? ????. 4. Luxon? ?? ???? ???? ?????? ???? ?? ????. ??? ?? ???? ????? ???? ??? ????? ?? ? ????.

? ? ???  ??? ?? ???? ??? ?????? ? ? ??? ??? ?? ???? ??? ?????? Jul 02, 2025 am 01:22 AM

TAGGSATTHEBOTTOMOFABLOGPOSTORWEBPAGESERVESPRACTICALPURSEO, USEREXPERIENCE, andDESIGN.1.ITHELPSWITHEOBYOWNSESPORENGENSTOESTOCESKESKERKESKERKERKERDER-RELEVANTTAGSWITHOUTHINGTEMAINCONTENT.2.ITIMPROVESEREXPERKEEPINGTOPONTEFOCUSOFOFOFOCUSOFOFOFOCUCUSONTHEATECLL

JavaScript vs. Java : ?????? ??? ? ?? JavaScript vs. Java : ?????? ??? ? ?? Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforwebDevelopment, whithjavaisbetterforlarge-scalebackendsystemsandandandoidapps.1) javascriptexcelsincreatinginteractivewebexperiences withitsdynatureanddommanipulation.2) javaoffersstrongtypingandobject-Orientededededededededededededededededdec

JavaScript : ???? ????? ??? ?? ?? JavaScript : ???? ????? ??? ?? ?? Jun 20, 2025 am 12:46 AM

javascriptassevenfundamentalDatatatypes : ??, ???, ??, unull, ??, ? symbol.1) ?? seAdouble-precisionformat, ??? forwidevaluerangesbutbecautiouswithfatingfointarithmetic.2) stringsareimmutable, useefficientconcatenationmethendsf

DOM?? ??? ?? ? ? ??? ?????? DOM?? ??? ?? ? ? ??? ?????? Jul 02, 2025 am 01:19 AM

??? ?? ? ??? DOM?? ??? ??? ? ?????. ??? ?? ????? ?? ??????, ??? ?? ???? ?? ????????. 1. ??? ??? addeventListener? usecapture ?? ??? true? ???? ?????. 2. ??? ??? ?? ???? usecapture? ???? ????? ?????. 3. ??? ??? ??? ??? ???? ? ??? ? ????. 4. ??? ?? ?? ?? ??? ?? ??? ??????? ??? ???? ?????. 5. ??? ?? ?? ?? ??? ?? ???? ?? ???? ? ??? ? ????. ? ? ??? ???? ???? JavaScript? ??? ??? ??? ????? ???? ???? ??? ??????.

Java? JavaScript? ???? ?????? Java? JavaScript? ???? ?????? Jun 17, 2025 am 09:17 AM

Java? JavaScript? ?? ????? ?????. 1. Java? ???? ???? ??? ? ??? ?????? ?????? ? ?? ???? ?????. 2. JavaScript? ?? ? ?? ?? ? ??? ?? ??? ???? ??? ? ?? ? ?? ?????.

See all articles