Я довольно новичок в ES6.

Я пытаюсь вызвать функцию с двумя аргументами:

export XYZ withFetching(noticeAPI)(promoIter)

А также

export withFetching(noticeAPI)(promoIter)

Это работает, когда я делаю это как:

export default withFetching(noticeAPI)(promoIter)

Функция выглядит так:

const withFetching = (url) => (Comp) =>

Почему он работает с ключевым словом по умолчанию, но не с именами любого типа?

Извините, если это глупый вопрос о ES6, но я безуспешно пробовал все варианты синтаксиса экспорта, которые я нашел здесь.

https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export

1
Steven Matthews 12 Апр 2019 в 07:01

2 ответа

Лучший ответ
export default withFetching(noticeAPI)(promoIter);

Коротка для

const _invisibleVariable_ = withFetching(noticeAPI)(promoIter);
export { _invisibleVariable_ as default };

Итак, учитывая ваш пример

export XYZ withFetching(noticeAPI)(promoIter)

Предполагая, что вы хотите XYZ быть именем, вы можете сделать

const XYZ = withFetching(noticeAPI)(promoIter);
export { XYZ };

Или

export const XYZ = withFetching(noticeAPI)(promoIter);
1
loganfsmyth 12 Апр 2019 в 19:54

Привет, ты пробовал, как это?

export const XYZ = withFetching(noticeAPI)(promoIter);

И затем импортировать это так

import { XYZ } form 'somepath';
0
Jordan 12 Апр 2019 в 04:03