Строгая точка повторного использования в качестве определяющей особенности настраиваемого крючка ReactJavascript

Форум по Javascript
Ответить
Anonymous
 Строгая точка повторного использования в качестве определяющей особенности настраиваемого крючка React

Сообщение Anonymous »

должен ли настраивать настраиваемые крючки «строго», чтобы быть многократно используемым, чтобы квалифицироваться как пользовательский крючок? Я поступил на курс на фронте с экзаменами после определенных модулей о покрытой теме (примерно 60 минут). Один из вопросов экзамена был следующим:
===

[*] Зачем использовать пользовательские крючки в React js?

[*] /> < /li>
Показать только данные поля заголовка только < /p>
< /li>
Управление загрузкой, ошибкой, реализация с использованием блока Try Catch < /p>
< /li>
< /ol>
Руководство по подчинение: < /p>
Directory Mension. Вы можете проверить свой код на своем собственном компьютере, а затем скопировать и вставить здесь. В любом случае, мой ответ был следующим: < /p>
=== < /p>
#1: чтобы инкапсулировать многократно используемую логику, сделайте компоненты меньше и более читаемыми, выдвигая ту же логику, которая может понадобиться в нескольких местах, и сделать это в «Реактировании». Это соглашение, чтобы начать пользовательский крючок с «Использования», для Ex: useapidata (). < /p>
#2, #3, & #4: < /p>
// file: src/hooks/useNewestPosts.jsx (for #2 & #4)

import { useState, useEffect } from "react";
import axios from "axios";

function useNewestPosts() {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);

useEffect(() => {
const fetchData = async () => {
try {
const response = await axios.get(
"//inertia-pos.manirul.xyz/api/post-newest"
);
if (response.status === 200 && response.data.status === "Success") {
setData(response.data.data);
} else {
console.log(response);
throw new Error("Something went wrong");
}
} catch (err) {
setError(err);
} finally {
setLoading(false);
}
};

fetchData();
}, []);

return { data, loading, error };
}

export default useNewestPosts;

// file: src/components/PostList.jsx (for #3)

import useNewestPosts from "../hooks/useNewestPosts";

function PostList() {
const { data, loading, error } = useNewestPosts();

if (loading) return
Loading...
;
if (error) return
Error: {error.message}
;

return loading ? (
Loading...
) : error ? (
Error: {error}
) : (
  • {data?.map((post, index) => (
    {post.title}
    ))}
);
}

export default PostList;
< /code>
=== < /p>
Согласно оценивающему учителю, ответ неверно неправильно, потому что он пропускает часть «повторности» (URL жестко кодируется, а не передается как аргумент). < /p>
Так мой вопрос, он должен быть «повторным», чтобы соответствовать критическим критериям? Я сделал немного поиска, и кажется, что в то время как повторно используется основная и полезная особенность пользовательских крючков (как мы заявили в самом начале ответа #1), он не обязательно должен быть «повторный» для каждого случая. Кроме того, вопрос, который, как утверждается, просто внедрил пользовательский крючок, чтобы назвать конкретный API, и кажется, что ответ соответствует критериям. «Правильный способ, я думаю. Меня не беспокоит отметки, приведенные здесь (было дано 90%, что, конечно, совсем неплохо), а скорее мое стремление здесь к знанию правильной концепции.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ustom-hook
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»