Встречается на собеседованиях • сегодня

Как переделать action для получения данных в двух компонентах

Для переиспользования action в нескольких компонентах можно:

  1. Вынести общую логику в отдельный файл (например, apiActions.js):
js
export const fetchData = async (url) => {
  const response = await fetch(url);
  return response.json();
}
  1. Импортировать и использовать в компонентах:
jsx
// ComponentA.js
import { fetchData } from './apiActions';

function ComponentA() {
const [data, setData] = useState(null);

useEffect(() => {
fetchData('https://api.example.com/data')
.then(data => setData(data));
}, []);
}

text

3. Альтернативно - создать кастомный хук:
```jsx
// useFetch.js
export const useFetch = (url) => {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetch(url)
      .then(res => res.json())
      .then(data => setData(data));
  }, [url]);

  return data;
}
  1. Для Redux - вынести action creator в отдельный файл и импортировать в нужных компонентах.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы