{"id":6643,"date":"2023-02-17T08:43:50","date_gmt":"2023-02-17T05:13:50","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/"},"modified":"2023-02-17T08:43:50","modified_gmt":"2023-02-17T05:13:50","slug":"demystifying-react-hooks-usecallback-4618","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/","title":{"rendered":"useCallback \u2013 \u0631\u0645\u0632\u06af\u0634\u0627\u06cc\u06cc \u0627\u0632 React Hooks (Pt. 1)"},"content":{"rendered":"<div data-article-id=\"1368692\" id=\"article-body\">\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0632\u0645\u0627\u0646 \u0648 \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 React \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f <code>useCallback<\/code> \u0642\u0644\u0627\u0628 \u0648 \u0627\u0634\u062a\u0628\u0627\u0647\u06cc \u06a9\u0647 \u0627\u06a9\u062b\u0631 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062c\u0648\u0627\u0646 \u0645\u0631\u062a\u06a9\u0628 \u0634\u062f\u0647 \u0627\u0646\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0628\u0646\u062f\u06cc\u062f \u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0645\u062e\u0632\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/#%D8%B4%D8%B1%D9%88%D8%B9_%D8%B4%D8%AF%D9%86\" >\u0634\u0631\u0648\u0639 \u0634\u062f\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/#%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%DB%8C_%D9%85%D8%B1%D8%AC%D8%B9\" >\u0628\u0631\u0627\u0628\u0631\u06cc \u0645\u0631\u062c\u0639<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/#%DA%A9%D8%AF_%D8%B4%D8%B1%D9%88%D8%B9\" >\u06a9\u062f \u0634\u0631\u0648\u0639<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/#%D8%B1%D8%A7_%D9%88%D8%A7%D8%B1%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF_useCallback_%D9%82%D9%84%D8%A7%D8%A8\" >\u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f useCallback \u0642\u0644\u0627\u0628<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/#useCallback_%D9%86%D8%AD%D9%88\" >useCallback  \u0646\u062d\u0648<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/demystifying-react-hooks-usecallback-4618\/#%D9%85%D9%86%D8%A7%D8%A8%D8%B9\" >\u0645\u0646\u0627\u0628\u0639<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B4%D8%B1%D9%88%D8%B9_%D8%B4%D8%AF%D9%86\"><\/span>\n<p>  \u0634\u0631\u0648\u0639 \u0634\u062f\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><code>fork and clone<\/code><\/li>\n<li><code>cd client<\/code><\/li>\n<li><code>npm i<\/code><\/li>\n<li><code>npm start<\/code><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%DB%8C_%D9%85%D8%B1%D8%AC%D8%B9\"><\/span>\n<p>  \u0628\u0631\u0627\u0628\u0631\u06cc \u0645\u0631\u062c\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u0628\u0631\u06cc \u0627\u0631\u062c\u0627\u0639\u06cc \u06cc\u06a9 \u0645\u0641\u0647\u0648\u0645 \u0627\u0633\u0627\u0633\u06cc \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 \u0639\u0644\u0648\u0645 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u06a9\u0644 \u0627\u0633\u062a.  \u067e\u0633 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0622\u0646 \u062f\u0631 \u0639\u0645\u0644 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0634\u0645\u0627 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0645\u0631\u0627\u0647 \u06cc\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f <code>referentialEquality.js<\/code> \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0631\u0648\u062c\u06cc<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span> <span class=\"o\">===<\/span> <span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n<span class=\"c1\">\/\/ prints true<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0631\u0632\u06cc\u0627\u0628\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 <code>integer 1<\/code> \u06a9\u0627\u0645\u0644\u0627\u064b \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u062a <code>integer 1<\/code>\u060c \u06a9\u0646\u0633\u0648\u0644 \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u062f <code>true<\/code>.  \u0627\u06cc\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u0633\u062a \u06a9\u0647\u060c \u062e\u0648\u0628 &#8230; <code>integer 1<\/code> <strong>\u0627\u0633\u062a<\/strong> \u06a9\u0627\u0645\u0644\u0627\u064b \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 <code>integer 1<\/code>.<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0631\u0632\u06cc\u0627\u0628\u06cc \u062f\u0648 \u0631\u0634\u062a\u0647\u060c \u0646\u062a\u06cc\u062c\u0647 \u06cc\u06a9\u0633\u0627\u0646\u06cc \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Referential Equality<\/span><span class=\"dl\">'<\/span> <span class=\"o\">===<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Referential Equality<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"c1\">\/\/ prints true<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u062f\u06cc\u0647\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u06cc\u0646 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0631\u0627\u06cc \u062f\u0648 \u0646\u0648\u0639 \u062f\u0627\u062f\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0627 \u06cc\u06a9 \u0645\u0642\u062f\u0627\u0631 \u0635\u0627\u062f\u0642 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<p>\u062d\u0627\u0644\u060c \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0686\u0637\u0648\u0631\u061f  \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u062f\u0648 \u0634\u0626 \u0628\u0627 \u062c\u0641\u062a \u06a9\u0644\u06cc\u062f\/\u0645\u0642\u062f\u0627\u0631 \u06cc\u06a9\u0633\u0627\u0646\u061f  \u062f\u0631 \u0645\u0648\u0631\u062f \u0644\u0641\u0638 \u0634\u06cc\u0621 \u062e\u0627\u0644\u06cc \u0686\u0637\u0648\u0631\u061f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">({<\/span> <span class=\"na\">a<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span> <span class=\"p\">}<\/span> <span class=\"o\">===<\/span> <span class=\"p\">{<\/span> <span class=\"na\">a<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span> <span class=\"p\">});<\/span>\n<span class=\"c1\">\/\/ prints false<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0686\u0631\u0627 \u0627\u06cc\u0646 \u0686\u0627\u067e <code>false<\/code>?  \u0647\u0646\u06af\u0627\u0645 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 \u0627\u06cc\u0646 \u062f\u0648 \u0644\u0641\u0638 \u0634\u06cc \u06a9\u0627\u0645\u0644\u0627\u064b \u0628\u0631\u0627\u0628\u0631 \u0647\u0633\u062a\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631\u060c \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0632 \u0645\u062a\u0646 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <strong><em>\u0622\u062f\u0631\u0633 \u0647\u0627\u06cc \u062d\u0627\u0641\u0638\u0647<\/em><\/strong>.<\/p>\n<p>\u0628\u0647 \u0639\u0628\u0627\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u0627\u06cc\u0646 \u062f\u0648 \u0634\u06cc\u0621 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062d\u0627\u0648\u06cc \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0627\u0634\u0646\u062f <strong>\u0627\u0631\u0632\u0634 \u0647\u0627\u06cc<\/strong>\u060c \u0627\u0645\u0627 \u0622\u0646\u0647\u0627 \u0646\u06cc\u0633\u062a\u0646\u062f <strong>\u0627\u0631\u062c\u0627\u0639 \u0628\u0647 \u0647\u0645\u0627\u0646 \u0634\u06cc<\/strong>.  \u0622\u0646\u0647\u0627 <em>\u0646\u06af\u0627\u0647 \u06a9\u0646<\/em> \u06cc\u06a9\u0633\u0627\u0646 \u0627\u0633\u062a \u0627\u0645\u0627 \u062f\u0648 \u0645\u062a\u0641\u0627\u0648\u062a \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f <em>\u0641\u0636\u0627\u0647\u0627\u06cc \u062d\u0627\u0641\u0638\u0647<\/em>.<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0645\u0631 \u0686\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0645\u0642\u0627\u06cc\u0633\u0647 \u062f\u0648 \u06a9\u0644\u0645\u0647 \u0634\u06cc\u0621\u060c \u062f\u0648 \u06a9\u0644\u0645\u0647 \u0622\u0631\u0627\u06cc\u0647 \u06cc\u0627 \u062f\u0648 \u062a\u0627\u0628\u0639 \u0628\u0627\u0634\u062f\u060c \u0635\u062f\u0642 \u0645\u06cc \u06a9\u0646\u062f!<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">({}<\/span> <span class=\"o\">===<\/span> <span class=\"p\">{});<\/span>\n<span class=\"c1\">\/\/ prints false<\/span>\n\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">([<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">]<\/span> <span class=\"o\">===<\/span> <span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">]);<\/span>\n<span class=\"c1\">\/\/ prints false<\/span>\n\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">([]<\/span> <span class=\"o\">===<\/span> <span class=\"p\">[]);<\/span>\n<span class=\"c1\">\/\/ prints false<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 \u0628\u06cc\u0634\u062a\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639\u060c \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>func<\/code>\u060c \u06a9\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0646\u0627\u0634\u0646\u0627\u0633 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0646\u0648\u0628\u0647 \u062e\u0648\u062f \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f (<em>\u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0639\u0646\u0635\u0631 JSX<\/em>).<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">func<\/span> <span class=\"o\">=<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">return<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">This is a pretend component.<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">};<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u062f\u0648 \u062a\u0627\u0628\u0639 \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u0627\u062e\u062a\u0635\u0627\u0635 \u0645\u06cc \u062f\u0647\u06cc\u0645\u060c <code>firstRender<\/code> \u0648 <code>secondRender<\/code>\u060c \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 <code>func<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">firstRender<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">func<\/span><span class=\"p\">();<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">secondRender<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">func<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote><p>\u062f\u0631 \u0641\u06a9\u0631 <code>func<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062c\u0632\u0621 \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc React \u0634\u0645\u0627\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 <code>firstRender<\/code> \u06cc\u06a9 \u062a\u0627\u0628\u0639 _inside_ \u0627\u0632 \u0622\u0646 \u062f\u0631 \u0627\u0648\u0644\u06cc\u0646 \u0631\u0646\u062f\u0631 \u0627\u0633\u062a \u0648 <code>secondRender<\/code> \u06cc\u06a9 \u062a\u0627\u0628\u0639 _inside_ \u0622\u0646 \u062f\u0631 \u0631\u0646\u062f\u0631 \u062f\u0648\u0645 \u0627\u0633\u062a.<\/p><\/blockquote>\n<p>\u0628\u0627\u0627\u06cc\u0646\u06a9\u0647 <code>firstRender<\/code> \u0648 <code>secondRender<\/code> \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u0646\u062f\u060c \u0647\u0645\u0627\u0646 \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u0646\u062f\u060c \u0648 \u062d\u062a\u06cc \u0645\u0642\u062f\u0627\u0631 \u0622\u0646\u0647\u0627 \u0627\u0632 \u0647\u0645\u0627\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0622\u0646\u0647\u0627 \u0646\u062f\u0627\u0631\u0646\u062f <em>\u0628\u0631\u0627\u0628\u0631\u06cc \u0627\u0631\u062c\u0627\u0639\u06cc<\/em>.  \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u0645\u0648\u0644\u0641\u0647 \u0648\u0627\u0644\u062f \u0631\u0646\u062f\u0631 \u0645\u06cc \u0634\u0648\u062f\u060c \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">firstRender<\/span> <span class=\"o\">===<\/span> <span class=\"nx\">secondRender<\/span><span class=\"p\">);<\/span>\n<span class=\"c1\">\/\/ false<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u062a\u0623\u0633\u0641\u0627\u0646\u0647\u060c \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0686\u0627\u067e \u0627\u06cc\u0646 \u0622\u062f\u0631\u0633 \u0647\u0627\u06cc \u062d\u0627\u0641\u0638\u0647 \u0645\u0627\u0646\u0646\u062f \u067e\u0627\u06cc\u062a\u0648\u0646 \u0622\u0633\u0627\u0646 \u0646\u06cc\u0633\u062a\u060c \u0627\u0645\u0627 \u0628\u0631\u0627\u06cc \u062a\u0648\u0636\u06cc\u062d \u06a9\u0645\u06cc \u0639\u0645\u06cc\u0642 \u062a\u0631 \u0627\u0632 \u0645\u0631\u062c\u0639 \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 \u0645\u0642\u062f\u0627\u0631\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u06af\u0627\u0647\u06cc \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0645\u062a\u0631\u0627\u06a9\u0645 \u0634\u0648\u062f \u0648 \u0646\u06cc\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a \u0627\u0645\u0634\u0628 \u06a9\u0644\u0627\u0633\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646 \u062a\u062f\u0631\u06cc\u0633 \u06a9\u0646\u06cc\u062f.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631\u060c \u0641\u0642\u0637 \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f:<\/p>\n<ul>\n<li>\u0646\u0648\u0639 \u062f\u0627\u062f\u0647 \u0627\u0648\u0644\u06cc\u0647 <code>===<\/code> \u0646\u0648\u0639 \u062f\u0627\u062f\u0647 \u0627\u0648\u0644\u06cc\u0647<\/li>\n<li>\u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 <code>!==<\/code> \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627.<\/li>\n<\/ul>\n<p>\u0628\u0627 \u0648\u062c\u0648\u062f \u0628\u0631\u0627\u0628\u0631\u06cc \u0627\u0631\u062c\u0627\u0639\u06cc\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u06a9\u062f React \u062e\u0648\u062f \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u0645 \u0648 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0686\u0631\u0627 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%A9%D8%AF_%D8%B4%D8%B1%D9%88%D8%B9\"><\/span>\n<p>  \u06a9\u062f \u0634\u0631\u0648\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u062f \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f\u060c \u0633\u067e\u0633 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.  \u062a\u0627 \u0645\u062f\u062a\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u06a9\u0646\u0633\u0648\u0644 \u0645\u0631\u0648\u0631\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0686\u0631\u062e\u0634 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f\u060c \u0622\u0646 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f <code>BookDetails.jsx<\/code> \u062c\u0632\u0621 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.  \u0627\u0648\u0644\u06cc\u0646 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u0633\u0631\u0648\u0631 \u062a\u0648\u0633\u0639\u0647 React \u062e\u0648\u062f \u0645\u062a\u0648\u062c\u0647 \u0634\u0648\u06cc\u0645\u060c \u06cc\u06a9 \u0686\u06cc\u0632 \u0631\u0627\u06cc\u062c \u0627\u0633\u062a <code>WARNING<\/code> \u06a9\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062c\u0648\u0627\u0646 \u062a\u0645\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0622\u0646 \u062f\u0627\u0631\u0646\u062f.  \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0646\u06cc\u0631\u0648\u06cc \u06a9\u0627\u0631 \u0636\u0631\u0628\u0647 \u0645\u06cc \u0632\u0646\u06cc\u062f \u0648 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0644\u0646\u06af\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u062d\u062a\u06cc \u0633\u062e\u062a \u062a\u0631 \u0627\u0632 \u0622\u0646\u0686\u0647 \u062f\u0631 \u0622\u0646 \u062a\u0639\u0628\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u0645\u06cc \u0634\u0648\u062f. <code>create-react-app<\/code>. <code>WARNINGS<\/code> \u062a\u0628\u062f\u06cc\u0644 \u062e\u0648\u0627\u0647\u062f \u0634\u062f <code>ERRORS<\/code>\u060c \u0648 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0644\u06cc\u0646\u062a\u0631 \u062d\u062a\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0646\u0645\u06cc \u062f\u0647\u0646\u062f \u0628\u062f\u0648\u0646 \u067e\u0631\u062f\u0627\u062e\u062a\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f <code>ERRORS<\/code>.<\/p>\n<p>\u0648 \u062e\u0648\u062f \u0631\u0627 \u0622\u0645\u0627\u062f\u0647 \u06a9\u0646\u061b  \u0627\u06a9\u062b\u0631 \u0644\u0646\u06af\u0631\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0646\u0645\u06cc \u062f\u0647\u0646\u062f <code>console.logs<\/code> \u062f\u0631 \u06a9\u062f \u0634\u0645\u0627  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0647\u0631 \u0686\u0647 \u0632\u0648\u062f\u062a\u0631 \u0631\u0648\u0634 \u0635\u062d\u06cc\u062d \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f\u060c \u0628\u0647\u062a\u0631 \u0627\u0633\u062a.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0647 \u062c\u0627\u06cc \u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0622\u0646\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0646\u062d\u0648\u0647 \u062f\u0631\u0645\u0627\u0646 \u0622\u0646 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0628\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>WARNING in [eslint]\nsrc\/components\/BookDetails.jsx\n  Line 18:6:  React Hook useEffect has a missing dependency: 'getBookDetails'. Either include it or remove the dependency array  react-hooks\/exhaustive-deps\n\nwebpack compiled with 1 warning\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u062a\u0648\u062c\u0647: \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0628\u062a\u062f\u0627 \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f BookDetails.jsx \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u06cc\u0646 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f <code>WARNING<\/code><\/strong><\/p>\n<p>\u0627\u06af\u0631 \u062f\u0631 React Docs \u0628\u06af\u0631\u062f\u06cc\u0645\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0631\u0627\u0647\u200c\u062d\u0644\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0646\u06cc\u0645\u0647 \u06af\u06cc\u062c\u200c\u06a9\u0646\u0646\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0631\u0627 \u0631\u0645\u0632\u06af\u0634\u0627\u06cc\u06cc \u06a9\u0646\u06cc\u0645. <code>WARNING<\/code> \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<hr\/>\n<p>\u0644\u062d\u0638\u0647 \u0627\u06cc \u0628\u0647 \u0639\u0648\u0627\u0642\u0628 \u0647\u0631 \u06af\u0632\u06cc\u0646\u0647 \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n<ol>\n<li>\u0634\u0627\u0645\u0644 \u062a\u0639\u0631\u06cc\u0641 \u062a\u0627\u0628\u0639 \u062f\u0631 \u062f\u0627\u062e\u0644<code>useEffect<\/code>\n<\/li>\n<\/ol>\n<blockquote>\n<p>\u0645\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0631\u0627 \u062f\u0631 \u062c\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645 \u0645\u06af\u0631 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u0646 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645.\n<\/p><\/blockquote>\n<ol>\n<li>\u0622\u0631\u0627\u06cc\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<blockquote>\n<p>\u0627\u06cc\u0646 \u0628\u0627\u0639\u062b \u0645\u06cc \u0634\u0648\u062f <code>useEffect<\/code> <strong>\u0647\u0631 \u0632\u0645\u0627\u0646<\/strong> \u0648\u0636\u0639\u06cc\u062a \u06cc\u0627 props \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0646\u062f\u0631 \u0645\u062c\u062f\u062f \u0628\u06cc\u200c\u0646\u0647\u0627\u06cc\u062a \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0648 \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0627\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f API \u0645\u0627 \u0631\u0627 \u0628\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u0628\u06cc\u200c\u0646\u0647\u0627\u06cc\u062a \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u062f.\n<\/p><\/blockquote>\n<ol>\n<li>\u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0627\u0628\u0639 \u0631\u0627 \u0627\u0632 \u0642\u0633\u0645\u062a \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f <code>useEffect<\/code>.<\/li>\n<\/ol>\n<blockquote>\n<p>\u062a\u0627\u0628\u0639 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0646\u0645\u06cc \u0634\u0648\u062f.\n<\/p><\/blockquote>\n<ol>\n<li>\u062a\u0627\u0628\u0639 \u0631\u0627 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/li>\n<\/ol>\n<blockquote>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u06a9\u0647 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0631\u0646\u062f\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062a\u0627\u0628\u0639 \u0645\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f useEffect\u060c \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0646\u062f\u0631 \u0634\u0648\u062f\u060c \u06a9\u0647 \u062a\u0627\u0628\u0639 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f useEffect\u060c \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0646\u062f\u0631 \u0634\u0648\u062f. \u060c \u06a9\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f &#8230;\n<\/p><\/blockquote>\n<p><em>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 &#8230; \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0686\u0647 \u06a9\u0627\u0631\u06cc \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f\u061f<\/em><\/p>\n<hr\/>\n<p>\u0633\u0627\u062f\u0647\u200c\u062a\u0631\u06cc\u0646 \u0648 \u0627\u0631\u062c\u062d\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u200c\u062d\u0644\u060c \u00ab\u0634\u0627\u0645\u0644 \u0622\u0646\u00bb \u0627\u0633\u062a\u060c \u06cc\u0639\u0646\u06cc \u062c\u0627\u0628\u0647\u200c\u062c\u0627\u06cc\u06cc <code>getBookDetails<\/code> \u062a\u0639\u0631\u06cc\u0641 \u062a\u0627\u0628\u0639 \u062f\u0631 \u062f\u0627\u062e\u0644 <code>useEffect<\/code>.  \u0627\u06cc\u0646 \u0628\u0647 \u06cc\u06a9 \u0627\u0635\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0634\u06cc \u06af\u0631\u0627 \u0645\u0639\u0631\u0648\u0641 \u0628\u0647 \u06a9\u067e\u0633\u0648\u0644\u0627\u0633\u06cc\u0648\u0646 \u067e\u0627\u06cc\u0628\u0646\u062f \u0627\u0633\u062a.<\/p>\n<p>\u0627\u0645\u0627 \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u0645\u06cc \u062f\u0627\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062a\u0627\u0628\u0639 \u0631\u0627 \u062f\u0631 \u062c\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645.  \u0622\u06cc\u0627 \u0628\u0627\u06cc\u062f \u0628\u0639\u062f\u0627\u064b \u0622\u0646 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645\u061f  \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0645\u0627 \u062e\u06cc\u0644\u06cc \u062e\u0634\u06a9 \u0646\u06cc\u0633\u062a.<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0622\u0631\u0627\u06cc\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647 \u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0645\u0631\u062c\u0639 \u062a\u0627\u0628\u0639 \u0645\u0627 \u0628\u0627\u0634\u062f.  \u0634\u0645\u0627 <code>useEffect<\/code> \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0628\u0627\u0634\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">getBookDetails<\/span><span class=\"p\">();<\/span>\n<span class=\"p\">},<\/span> <span class=\"p\">[<\/span><span class=\"nx\">getBookDetails<\/span><span class=\"p\">]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 <code>getBookDetails<\/code> \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0628\u0627\u0642\u06cc \u0645\u06cc \u0645\u0627\u0646\u062f <strong>\u062f\u0631 \u0628\u0627\u0644\u0627<\/strong> \u0631\u0627 <code>useEffect<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">getBookDetails<\/span> <span class=\"o\">=<\/span> <span class=\"k\">async<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">res<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">axios<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"s2\">`<\/span><span class=\"p\">${<\/span><span class=\"nx\">BASE_URL<\/span><span class=\"p\">}<\/span><span class=\"s2\">\/<\/span><span class=\"p\">${<\/span><span class=\"nx\">id<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">setBook<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">};<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062d\u0627\u0644\u0627 \u0645\u0627 \u06cc\u06a9 \u062c\u062f\u06cc\u062f \u062f\u0627\u0631\u06cc\u0645 <code>WARNING<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>WARNING in [eslint]\nsrc\/components\/BookDetails.jsx\n  Line 10:9:  The 'getBookDetails' function makes the dependencies of useEffect Hook (at line 18) change on every render. Move it inside the useEffect callback. Alternatively, wrap the definition of 'getBookDetails' in its own useCallback() Hook  react-hooks\/exhaustive-deps\n\nwebpack compiled with 1 warning\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7_%D9%88%D8%A7%D8%B1%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF_useCallback_%D9%82%D9%84%D8%A7%D8%A8\"><\/span>\n<p>  \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f <code>useCallback<\/code> \u0642\u0644\u0627\u0628<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647\u060c <code>useCallback<\/code> hook \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0631\u0627 \u0628\u06cc\u0646 \u0631\u0646\u062f\u0631\u0647\u0627\u06cc \u0645\u062c\u062f\u062f \u0645\u0624\u0644\u0641\u0647\u200c\u062a\u0627\u0646 \u062f\u0631 \u062d\u0627\u0641\u0638\u0647 \u067e\u0646\u0647\u0627\u0646 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.  \u06a9\u0627\u0631 \u0645\u0634\u0627\u0628\u0647\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f <code>useMemo<\/code>\u060c \u062a\u0641\u0627\u0648\u062a \u0647\u0627\u06cc \u0638\u0631\u06cc\u0641 \u06a9\u0647 \u062f\u0631 \u0645\u0642\u0627\u0644\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0647 \u0622\u0646 \u062e\u0648\u0627\u0647\u06cc\u0645 \u067e\u0631\u062f\u0627\u062e\u062a.<\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0628\u0647 \u0634\u0645\u0627 \u0639\u0644\u0627\u0642\u0647 \u0645\u0646\u062f \u0627\u0633\u062a\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646 \u062f\u0631 React Docs \u0628\u062e\u0648\u0627\u0646\u06cc\u062f.<\/p>\n<p>\u0644\u0637\u0641\u0627 \u0628\u0647 \u0647\u0634\u062f\u0627\u0631 \u0622\u0646\u0647\u0627 \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<ul>\n<li>\u0641\u0642\u0637 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0622\u0646 \u062a\u06a9\u06cc\u0647 \u06a9\u0646\u06cc\u062f <code>useCallback<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f  \u0627\u06af\u0631 \u06a9\u062f \u0634\u0645\u0627 \u0628\u062f\u0648\u0646 \u0622\u0646 \u06a9\u0627\u0631 \u0646\u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u0634\u06a9\u0644 \u0627\u0633\u0627\u0633\u06cc \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0628\u062a\u062f\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0637\u0631\u0641 \u06a9\u0646\u06cc\u062f.  \u0633\u067e\u0633 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>useCallback<\/code> \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0639\u0645\u0644\u06a9\u0631\u062f\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"useCallback_%D9%86%D8%AD%D9%88\"><\/span>\n<p>  <code>useCallback<\/code>  \u0646\u062d\u0648<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>useCallback<\/code>  \u0646\u062d\u0648 \u0628\u0633\u06cc\u0627\u0631 \u0634\u0628\u06cc\u0647 \u0628\u0647 <code>useEffect<\/code> \u0646\u062d\u0648\u060c \u06a9\u0647 \u0645\u0627 \u0642\u0628\u0644\u0627 \u0645\u06cc \u062f\u0627\u0646\u06cc\u0645.  \u0628\u0647 \u0627\u0633\u06a9\u0644\u062a \u0647\u0631 \u06a9\u062f\u0627\u0645 \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{},<\/span> <span class=\"p\">[]);<\/span>\n\n<span class=\"nx\">useCallback<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{},<\/span> <span class=\"p\">[]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u0641\u0627\u0648\u062a \u062c\u0632\u0626\u06cc \u0628\u0627 <code>useEffect<\/code>\u060c \u0628\u0647 \u062a\u0627\u0628\u0639 \u0646\u0627\u0634\u0646\u0627\u0633 \u0645\u06cc \u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u062a\u0627\u0628\u0639 \u0645\u0627 \u0631\u0627 \u062f\u0631 \u062d\u06cc\u0646 \u0628\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f <code>useCallback<\/code>\u060c \u0645\u0642\u062f\u0627\u0631 \u0628\u0627\u0632\u06af\u0634\u062a\u06cc \u0631\u0627 \u0628\u0647 \u0645\u0631\u062c\u0639\u06cc \u0627\u062e\u062a\u0635\u0627\u0635 \u0645\u06cc \u062f\u0647\u06cc\u0645 \u062a\u0627 \u062f\u0631 \u062c\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>useCallback<\/code> \u0627\u0632 \u062c\u0627\u0646\u0628 <code>'react'<\/code>.  \u0628\u0647 \u062c\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u06cc\u06a9 \u062e\u0637 \u062c\u062f\u06cc\u062f\u060c \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0622\u0646 \u0631\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0633\u0627\u06cc\u0631 \u0648\u0627\u0631\u062f\u0627\u062a \u062e\u0648\u062f \u062a\u062e\u0631\u06cc\u0628 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">useState<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useEffect<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useCallback<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u0645 <code>getBookDetails<\/code> \u0628\u0647 \u0645\u0642\u062f\u0627\u0631 \u0628\u0627\u0632\u06af\u0634\u062a\u06cc \u0627\u0632 a <code>useCallback<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0627\u0628\u0639<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">getBookDetails<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useCallback<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u062a\u0645\u0627\u0645 \u0646\u062d\u0648 \u0628\u0631\u0627\u06cc \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>useCallback<\/code>.  \u0622\u0631\u0627\u06cc\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u062e\u0627\u0637\u0631 \u0628\u0633\u067e\u0627\u0631\u06cc\u062f!<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">getBookDetails<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useCallback<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{},<\/span> <span class=\"p\">[]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0645\u062b\u0627\u0644 \u0645\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 <code>async<\/code> \u0642\u0628\u0644 \u0627\u0632 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0645\u0627<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">getBookDetails<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useCallback<\/span><span class=\"p\">(<\/span><span class=\"k\">async<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{},<\/span> <span class=\"p\">[]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0645\u0646\u0637\u0642 \u062a\u0627\u0628\u0639 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0628\u0644\u0648\u06a9 \u06a9\u062f \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">getBookDetails<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useCallback<\/span><span class=\"p\">(<\/span><span class=\"k\">async<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">res<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">axios<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"s2\">`<\/span><span class=\"p\">${<\/span><span class=\"nx\">BASE_URL<\/span><span class=\"p\">}<\/span><span class=\"s2\">\/<\/span><span class=\"p\">${<\/span><span class=\"nx\">id<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">setBook<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">},<\/span> <span class=\"p\">[]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0645\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645\u060c \u0645\u06cc \u06af\u06cc\u0631\u06cc\u0645 &#8230; \u062f\u06cc\u06af\u0631\u06cc <code>WARNING<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>WARNING in [eslint]\nsrc\/components\/BookDetails.jsx\n  Line 14:6:  React Hook useCallback has a missing dependency: 'id'. Either include it or remove the dependency array  react-hooks\/exhaustive-deps\n\nwebpack compiled with 1 warning\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0644\u062d\u0638\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u0622\u0631\u0627\u06cc\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0645\u0627 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0634\u0648\u062f <code>id<\/code> \u0645\u062a\u063a\u06cc\u0631\u061f<\/p>\n<blockquote>\n<p>\u0627\u06af\u0631 \u0627\u0631\u0632\u0634 \u0627\u0632 <code>id<\/code> \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u060c \u00abgetBookDetails\u00bb \u0628\u0627\u06cc\u062f \u0628\u0647 \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0628\u0631\u0633\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 React \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u062f.\n<\/p><\/blockquote>\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u0645 <code>id<\/code> \u0628\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0645\u0627\u060c \u0645\u0627 \u062a\u0645\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a <code>getBookDetails<\/code> \u0648 <code>useEffect<\/code> \u062a\u0648\u0627\u0628\u0639 \u0628\u0627\u06cc\u062f \u0634\u0628\u06cc\u0647 \u0627\u06cc\u0646 \u0628\u0627\u0634\u0646\u062f.  \u0628\u0647 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc \u0628\u06cc\u0646 \u0631\u0648\u0634 \u0627\u062c\u0631\u0627\u06cc \u062f\u0648 \u0642\u0644\u0627\u0628 \u062f\u0642\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">getBookDetails<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useCallback<\/span><span class=\"p\">(<\/span><span class=\"k\">async<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">res<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">axios<\/span><span class=\"p\">.<\/span><span class=\"kd\">get<\/span><span class=\"p\">(<\/span><span class=\"s2\">`<\/span><span class=\"p\">${<\/span><span class=\"nx\">BASE_URL<\/span><span class=\"p\">}<\/span><span class=\"s2\">\/<\/span><span class=\"p\">${<\/span><span class=\"nx\">id<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">setBook<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">},<\/span> <span class=\"p\">[<\/span><span class=\"nx\">id<\/span><span class=\"p\">]);<\/span>\n\n<span class=\"nx\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">getBookDetails<\/span><span class=\"p\">();<\/span>\n<span class=\"p\">},<\/span> <span class=\"p\">[<\/span><span class=\"nx\">getBookDetails<\/span><span class=\"p\">]);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 \u0628\u0627\u0644\u0627\u062e\u0631\u0647 \u0647\u0645\u06cc\u0646!  \u0645\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631 React dev \u0633\u0628\u0632 \u0631\u0646\u06af \u0645\u06cc \u0628\u06cc\u0646\u06cc\u0645.  \u0644\u06cc\u0646\u062a\u0631 \u0634\u0627\u062f \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0631\u0634\u062f \u062e\u0648\u0634\u062d\u0627\u0644 \u0627\u0633\u062a.  \u0648 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0631\u0634\u062f \u062e\u0648\u0634\u062d\u0627\u0644 \u0634\u0645\u0627 \u0631\u0627 \u062e\u0648\u0634\u062d\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f!<\/p>\n<blockquote>\n<p>\u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u062f\u0648\u0633\u062a\u0627\u0646 \u0648 \u0647\u0645\u06a9\u0627\u0631\u0627\u0646 \u062c\u062f\u06cc\u062f \u0647\u0633\u062a\u0645.  \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0645\u0641\u06cc\u062f \u0628\u0648\u062f \u0648 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0627 \u0647\u0645 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646 \u0631\u0627 \u062f\u0631 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u0646 \u062f\u0631 \u0648\u0628 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<br \/>\u06af\u06cc\u062a \u0647\u0627\u0628 | <a href=\"https:\/\/twitter.com\/0xStink\" rel=\"nofollow noopener\" target=\"_blank\">\u062a\u0648\u06cc\u06cc\u062a\u0631<\/a> |  \u0644\u06cc\u0646\u06a9\u062f\u06cc\u0646 |  \u0633\u0627\u06cc\u062a \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc<\/p>\n<\/blockquote>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%86%D8%A7%D8%A8%D8%B9\"><\/span>\n<p>  \u0645\u0646\u0627\u0628\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0632\u0645\u0627\u0646 \u0648 \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 React \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f useCallback \u0642\u0644\u0627\u0628 \u0648 \u0627\u0634\u062a\u0628\u0627\u0647\u06cc \u06a9\u0647 \u0627\u06a9\u062b\u0631 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062c\u0648\u0627\u0646 \u0645\u0631\u062a\u06a9\u0628 \u0634\u062f\u0647 \u0627\u0646\u062f. \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0628\u0646\u062f\u06cc\u062f \u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0645\u062e\u0632\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u0634\u0631\u0648\u0639 \u0634\u062f\u0646 fork and clone cd client npm i npm start \u0628\u0631\u0627\u0628\u0631\u06cc &hellip;<\/p>\n","protected":false},"author":2,"featured_media":6644,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-6643","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/6643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=6643"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/6643\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/6644"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=6643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=6643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=6643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}