Я вижу, что следующее прекрасно:Почему `Export Default Const` недействителен?
const Tab = connect(mapState, mapDispatch)(Tabs);
export default Tab;
Однако это неверно:
export default const Tab = connect(mapState, mapDispatch)(Tabs);
Но это нормально:
export default Tab = connect(mapState, mapDispatch)(Tabs);
Может ли это объяснить, пожалуйста, почему const
является недопустимо с export default
? Это ненужное дополнение & что-либо, объявленное как export default
, считается const
или такой?
Ответ: как это стало ошибкой. Вопрос по-прежнему почему? Одна из причин, почему это предотвращает злоупотребление const таким образом: export default const a = 1, b = 3, c = 4; –
'' AFAIK экспорт сам по себе не должен добавлять ничего в вашу текущую область действия ". Это не так точно, потому что' export const a = 1' добавляет 'a' в ваш текущий контекст. И даже с 'export default' в случае классов, потому что' export default class MyClass {} 'добавляет' MyClass' в ваш текущий контекст. – Ernesto
@SergeyOrlov согласен, что это объясняет, как это порождает ошибку, но мало освещает, почему это необходимо. Хотя я не уверен, что это единственная причина, вы, вероятно, должны опубликовать это как отдельный ответ, а не комментарий к этому. – Herick