Я не могу полностью осознать это. Почему команды React и Next решили использовать директивы JavaScript вместо декораторов?
Декораторы широко используются во множестве фреймворков, таких как Angular или Nest.js. Они широко используются в разных языках и в основном стандартизированы. Директивы предназначены только для JS. Они даже широко не используются. До того, как команда React приняла его, мы использовали его только для «использования строгого», и большинство из нас даже не видели этого, поскольку он был добавлен сборщиком.
Мы также могли исключить экспорт магических строк Next.js и передать их опциям декораторов.
Я думаю, декораторы все еще находятся на стадии 3, а директивы являются частью языков с ES2015. Так это может быть причиной?
Вот несколько примеров использования API, о котором я думал, для декораторов и директив.
Директива:
async function actionFoo() {
"use server";
...
}
Декоратор:
@ServerAction
async function actionFoo() {
...
}
Директива:
"use cache";
export const dynamic = 'force-dynamic';
export async function HomePage() {
...
}
Декоратор:
@Page({ cache: true, dynamic: "force-dynamic" })
export async function HomePage() {
...
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... decorators