React Hooks Api Request











up vote
0
down vote

favorite












I'm playing with react hooks, implemented api request hook, to fetch a test list from the endpoint, it works, but I don't think it's the best - sexiest - way of doing it.



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();
const [isLoading, setIsLoading] = useState(false);

const fetchYdlTestList = async () => {
try {
setIsLoading(true);
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
} finally {
setIsLoading(false);
}
};

useEffect(() => {
if (!isLoading && !ydlTestList.length) {
fetchYdlTestList();
}
});

return ydlTestList;
};


Update



I cleaned up my code a bit by passing an empty array to useEffect so the effect would run only on mount



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();

const fetchYdlTestList = async () => {
try {
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
}
};

useEffect(() => {
fetchYdlTestList();
}, );

return ydlTestList;
};









share|improve this question









New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    There is no way for us to review this code without knowing anything about your API or what it is supposed to accomplish.
    – 200_success
    yesterday










  • @200_success I think it's pretty clear for anybody familiar with react & restful api. My api just returns a json response with an array of records.
    – Walid Ammar
    11 hours ago












  • I'd recommend taking a look at any open sources libraries that are experimenting with hooks. I'd bet the majority of people here haven't even looked at the api for hooks yet considering they are still in the very early stages of development.
    – ByteSettlement
    8 hours ago















up vote
0
down vote

favorite












I'm playing with react hooks, implemented api request hook, to fetch a test list from the endpoint, it works, but I don't think it's the best - sexiest - way of doing it.



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();
const [isLoading, setIsLoading] = useState(false);

const fetchYdlTestList = async () => {
try {
setIsLoading(true);
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
} finally {
setIsLoading(false);
}
};

useEffect(() => {
if (!isLoading && !ydlTestList.length) {
fetchYdlTestList();
}
});

return ydlTestList;
};


Update



I cleaned up my code a bit by passing an empty array to useEffect so the effect would run only on mount



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();

const fetchYdlTestList = async () => {
try {
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
}
};

useEffect(() => {
fetchYdlTestList();
}, );

return ydlTestList;
};









share|improve this question









New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    There is no way for us to review this code without knowing anything about your API or what it is supposed to accomplish.
    – 200_success
    yesterday










  • @200_success I think it's pretty clear for anybody familiar with react & restful api. My api just returns a json response with an array of records.
    – Walid Ammar
    11 hours ago












  • I'd recommend taking a look at any open sources libraries that are experimenting with hooks. I'd bet the majority of people here haven't even looked at the api for hooks yet considering they are still in the very early stages of development.
    – ByteSettlement
    8 hours ago













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I'm playing with react hooks, implemented api request hook, to fetch a test list from the endpoint, it works, but I don't think it's the best - sexiest - way of doing it.



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();
const [isLoading, setIsLoading] = useState(false);

const fetchYdlTestList = async () => {
try {
setIsLoading(true);
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
} finally {
setIsLoading(false);
}
};

useEffect(() => {
if (!isLoading && !ydlTestList.length) {
fetchYdlTestList();
}
});

return ydlTestList;
};


Update



I cleaned up my code a bit by passing an empty array to useEffect so the effect would run only on mount



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();

const fetchYdlTestList = async () => {
try {
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
}
};

useEffect(() => {
fetchYdlTestList();
}, );

return ydlTestList;
};









share|improve this question









New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I'm playing with react hooks, implemented api request hook, to fetch a test list from the endpoint, it works, but I don't think it's the best - sexiest - way of doing it.



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();
const [isLoading, setIsLoading] = useState(false);

const fetchYdlTestList = async () => {
try {
setIsLoading(true);
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
} finally {
setIsLoading(false);
}
};

useEffect(() => {
if (!isLoading && !ydlTestList.length) {
fetchYdlTestList();
}
});

return ydlTestList;
};


Update



I cleaned up my code a bit by passing an empty array to useEffect so the effect would run only on mount



export const useYdlTestList = () => {
const [ydlTestList, setYdlTestList] = useState();

const fetchYdlTestList = async () => {
try {
const { data } = await api.get("ydltest");
setYdlTestList(data);
} catch (e) {
console.error(e);
}
};

useEffect(() => {
fetchYdlTestList();
}, );

return ydlTestList;
};






react.js






share|improve this question









New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited yesterday





















New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked yesterday









Walid Ammar

1043




1043




New contributor




Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Walid Ammar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1




    There is no way for us to review this code without knowing anything about your API or what it is supposed to accomplish.
    – 200_success
    yesterday










  • @200_success I think it's pretty clear for anybody familiar with react & restful api. My api just returns a json response with an array of records.
    – Walid Ammar
    11 hours ago












  • I'd recommend taking a look at any open sources libraries that are experimenting with hooks. I'd bet the majority of people here haven't even looked at the api for hooks yet considering they are still in the very early stages of development.
    – ByteSettlement
    8 hours ago














  • 1




    There is no way for us to review this code without knowing anything about your API or what it is supposed to accomplish.
    – 200_success
    yesterday










  • @200_success I think it's pretty clear for anybody familiar with react & restful api. My api just returns a json response with an array of records.
    – Walid Ammar
    11 hours ago












  • I'd recommend taking a look at any open sources libraries that are experimenting with hooks. I'd bet the majority of people here haven't even looked at the api for hooks yet considering they are still in the very early stages of development.
    – ByteSettlement
    8 hours ago








1




1




There is no way for us to review this code without knowing anything about your API or what it is supposed to accomplish.
– 200_success
yesterday




There is no way for us to review this code without knowing anything about your API or what it is supposed to accomplish.
– 200_success
yesterday












@200_success I think it's pretty clear for anybody familiar with react & restful api. My api just returns a json response with an array of records.
– Walid Ammar
11 hours ago






@200_success I think it's pretty clear for anybody familiar with react & restful api. My api just returns a json response with an array of records.
– Walid Ammar
11 hours ago














I'd recommend taking a look at any open sources libraries that are experimenting with hooks. I'd bet the majority of people here haven't even looked at the api for hooks yet considering they are still in the very early stages of development.
– ByteSettlement
8 hours ago




I'd recommend taking a look at any open sources libraries that are experimenting with hooks. I'd bet the majority of people here haven't even looked at the api for hooks yet considering they are still in the very early stages of development.
– ByteSettlement
8 hours ago















active

oldest

votes











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");

StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "196"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Walid Ammar is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f208865%2freact-hooks-api-request%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








Walid Ammar is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















Walid Ammar is a new contributor. Be nice, and check out our Code of Conduct.













Walid Ammar is a new contributor. Be nice, and check out our Code of Conduct.












Walid Ammar is a new contributor. Be nice, and check out our Code of Conduct.
















Thanks for contributing an answer to Code Review Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f208865%2freact-hooks-api-request%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Morgemoulin

Scott Moir

Souastre