Так вы сделали getInitialProps — только совсем пустой и ничего не делающий (это не недостаток фреймворка — это его фича хендлить что-то на сервере до рендера). В чистом реакте такого нет. Эта штука работает только на страницах.
Далее вы сделали обертку над страницей (HOC) — этого можно избежать создав файлы _document и _app в каталоге страниц. Советую прочитать про этот функционал.
Со стилями на next лучше работать через `https://cssinjs.org/?v=v10.0.0` — подключается очень просто.
Про изображения — ложите их в папку static.
И еще философски react как бы хочет, чтобы вы все делали на функциях (у них прям секта). Мотивация у вас хорошая, что вы попытались всунуть IOC в фронтенд. Но эти ребята из facebook придумали такую хрень как jest — в котором можно легко в unit test-e замокать целый файл в 1 строку:
import myFunc from './my-func';
import funcToTest from './func-to-test'; // export default (arg) => myFunc(arg);
jest.mock('./my-func', () => jest.fn());
// далее в тесте...
it('should test', () => {
myFunc.mockImplementation(arg => `test${arg}`);
const result = funcToTest('bla');
expect(myFunc).toHaveBeenCalled...
expect(result).toEquals('testbla');
});
А вот если вы будете делать backend на nodejs — то туда IOC уже надо (хотя тоже спорный вопрос — есть инструменты как разрулить эту проблему). Проблем с моканьем в react нет — так как фреймворк для тестирования react — это jest.
По поводу «ревьювера» — эх вы еще с Немцами видать не работали. У меня ~15 лет опыта разработки в ИТ — я просто пытаюсь показать/помочь/поделиться информацией в том, что можно улучшить — я не пытаюсь вас загнобить. Лучше используйте в следующий раз `create-react-app` или `gatsby` — там все как вам хочется и из коробки работает и попроще.
PPS: И еще у вас нигде нет PropTypes — многие думают, что оно устарело и не пишут их — но поверьте — это помогает. В TypeScript можно сделать InferProps и получить тип для props без дупликации описания типа и проптайпсов.
Root.getInitialProps = async /* зачем? */ ({
req /* зачем? */,
query // тут можно получить query параметры
}) => ({
query,
init: true // зачем?
});
changeUrl(url) {
this.router.push(url, url, { shallow: true });
// может проще так?
// this.router.push({pathname: "/", as: "/", query: {transition: "[1,2]"}});
// это будет запускать getInitialProps где ты сможешь парсить свои query
// параметры без велосипеда и сразу пробрасывать это все в пропсы?
}
Вообщем тут каждую строчку можно долго обсуждать. С моей точки зрения — сильно много намудрил. Мой тебе совет — пиши очень тупой и «чистый» код для прохождения собеседований успешно. И лучше сразу пиши тестируемый код — ты увидишь массу проблем еще на стадии разработки. PS. В последнем next typescript работает из коробки.
Я думаю, что Китай там всех дожмет. Формально все закроют на это глаза, ибо никто не хочет связываться по вопросу суверенности «Гонконга» с Китаем. Сейчас уже Китай опасный.
Ну тут вопрос обсуждаемый — я думаю скоро Гонконга не будет в привычном виде (как только кончится срок Британского права). Его Китай не трогает из-за того, что это входной и выходной шлюз Китая на рынки. А вот как вето на Британское право кончится так он и станет частью Китая полноценной. И я почему-то уверен, что Китай 100% сделает все, чтобы убрать оттуда инструменты для общения с Рынками из за их нелояльности. Там не все так гладко — плохо с жильем там (цены сумасшедшие).
А Сингапур — тут согласен, но у них все с верхов началось, а у нас верхи не хотят принимать аналогичные меры.
Ельцин тогда еще не осознавал, что он действовал как Либертарианец (просто сделал полную рыночную свободу — чего и хотят Либертарианцы). А про УСА могу сказать, что он не может просто взять и слить кучу денег из регионального бюджета на тушение пожаров их просто не хватит.
Разделение плохо в любом случае (для Сибири возможно это даже хорошо потому-что ресурсов там дофига, а вот для других регионов это плохо — это грозит превращением в мини прибалтики без ресурсов и денег откуда вы будите например ездить в сибирь на заработки). Просто есть такая штука как унитарное государство. Сейчас у нас вроде как есть регионы и федеративное устройство, НО выборов там нет и ни о какой реальной самостоятельности речь не идет — у нас все подчиняется Москве «перебор с унитарностью». Регионам нужно дать больше свободы и тогда у нас будет настоящее Федеративное государство, а не как сейчас — вся Россия кормит и работает на Собянинскую плитку. Был бы губернатор в Сибири с достаточными полномочиями и ресурсами — он бы потушил, а сейчас из за «унитарности» ни один губернатор не может даже пукнуть по своей инициативе самостоятельно.
Посмотри на США — они СОЕДИНЕННЫЕ ШТАТЫ у них в каждом штате свои законы, которые противоречат федеральным иногда, а платят они налоги на армию и другие федеральные программы. Или вот в Германии например — есть налог солидарности 5.5% (каждый богатый западный немецкий регион платит дополнительный налог на развитие восточной Германии и этот налог не 80% как сейчас забирает себе Москва от общих доходов — его платит каждый рабочий региона из своих доходов).
Разделившись ты Живя в своей Москве поедешь работать в Сибирь как гастарбайтер т.к. у Москвы и округи ничего нет кроме кучи людских ресурсов и производств, которые выгодны только тем, что ресурсы из регионов им по дешевке подгоняют. А когда разделенные регионы будут продавать по рыночным ценам и еще доставлять товары через парочку отделенных регионов, которые будут взымать транспортный налог за провоз товара — я посмотрю на тебя и куда ты сбежишь из Москвы.
Хочется сравнения какого-то - интересно что не хватило в biome
Biomejs уже давно все это-же умеет и также быстро и тоже на раст. Интересно чем автору biomejs не зашел?
Попробуйте ef core подобные орм и у вас вообще проблем не будет.
Вот у меня один вопрос — в этом мире кроме TypeOrm и EntityFramework есть хоть одна orm которая может генерить миграции по изменениям в коде моделей?
Далее вы сделали обертку над страницей (HOC) — этого можно избежать создав файлы _document и _app в каталоге страниц. Советую прочитать про этот функционал.
Со стилями на next лучше работать через `https://cssinjs.org/?v=v10.0.0` — подключается очень просто.
Про изображения — ложите их в папку static.
И еще философски react как бы хочет, чтобы вы все делали на функциях (у них прям секта). Мотивация у вас хорошая, что вы попытались всунуть IOC в фронтенд. Но эти ребята из facebook придумали такую хрень как jest — в котором можно легко в unit test-e замокать целый файл в 1 строку:
А вот если вы будете делать backend на nodejs — то туда IOC уже надо (хотя тоже спорный вопрос — есть инструменты как разрулить эту проблему). Проблем с моканьем в react нет — так как фреймворк для тестирования react — это jest.
По поводу «ревьювера» — эх вы еще с Немцами видать не работали. У меня ~15 лет опыта разработки в ИТ — я просто пытаюсь показать/помочь/поделиться информацией в том, что можно улучшить — я не пытаюсь вас загнобить. Лучше используйте в следующий раз `create-react-app` или `gatsby` — там все как вам хочется и из коробки работает и попроще.
PPS: И еще у вас нигде нет PropTypes — многие думают, что оно устарело и не пишут их — но поверьте — это помогает. В TypeScript можно сделать InferProps и получить тип для props без дупликации описания типа и проптайпсов.
Вообщем тут каждую строчку можно долго обсуждать. С моей точки зрения — сильно много намудрил. Мой тебе совет — пиши очень тупой и «чистый» код для прохождения собеседований успешно. И лучше сразу пиши тестируемый код — ты увидишь массу проблем еще на стадии разработки. PS. В последнем next typescript работает из коробки.
А Сингапур — тут согласен, но у них все с верхов началось, а у нас верхи не хотят принимать аналогичные меры.
Разделение плохо в любом случае (для Сибири возможно это даже хорошо потому-что ресурсов там дофига, а вот для других регионов это плохо — это грозит превращением в мини прибалтики без ресурсов и денег откуда вы будите например ездить в сибирь на заработки). Просто есть такая штука как унитарное государство. Сейчас у нас вроде как есть регионы и федеративное устройство, НО выборов там нет и ни о какой реальной самостоятельности речь не идет — у нас все подчиняется Москве «перебор с унитарностью». Регионам нужно дать больше свободы и тогда у нас будет настоящее Федеративное государство, а не как сейчас — вся Россия кормит и работает на Собянинскую плитку. Был бы губернатор в Сибири с достаточными полномочиями и ресурсами — он бы потушил, а сейчас из за «унитарности» ни один губернатор не может даже пукнуть по своей инициативе самостоятельно.
Посмотри на США — они СОЕДИНЕННЫЕ ШТАТЫ у них в каждом штате свои законы, которые противоречат федеральным иногда, а платят они налоги на армию и другие федеральные программы. Или вот в Германии например — есть налог солидарности 5.5% (каждый богатый западный немецкий регион платит дополнительный налог на развитие восточной Германии и этот налог не 80% как сейчас забирает себе Москва от общих доходов — его платит каждый рабочий региона из своих доходов).
Разделившись ты Живя в своей Москве поедешь работать в Сибирь как гастарбайтер т.к. у Москвы и округи ничего нет кроме кучи людских ресурсов и производств, которые выгодны только тем, что ресурсы из регионов им по дешевке подгоняют. А когда разделенные регионы будут продавать по рыночным ценам и еще доставлять товары через парочку отделенных регионов, которые будут взымать транспортный налог за провоз товара — я посмотрю на тебя и куда ты сбежишь из Москвы.