Динамический выбор файла в зависимости от реквизита

#reactjs

#reactjs

Вопрос:

Я пытаюсь динамически импортировать файл на основе реквизита или, по крайней мере, найти способ получить файл на основе реквизита. Есть ли способ сделать это?

 import json from '../../data/yearly/CAN.json';
 

В этом случае я бы хотел, чтобы CAN.json был this.props.country ‘.json’ .

Ответ №1:

Да, вы можете..

То, что вы ищете, называется динамическим импортом. Однако вы должны использовать его только тогда, когда это необходимо.

Это работает так же, как статический импорт, однако при экспорте модуля по умолчанию сначала необходимо выполнить деструкцию.

Пример кода его использования:

  useEffect(() => {
    async function importSelect() {
      const { default: data } = await import("./Testing");

      setData(data);
    }
    importSelect();
  }, []);
 

Вот ссылка на песочницу, чтобы проверить, загружены ли данные