маунте компонента через document.title = ‘value’
Поискал, везде делают через useEffect. В чем смысл? Дорогая ли операция менять title?
нет не дорогая
тогда overhead-а от useEffect не больше? да и код не красивее
Хочешь красивее делай с react helmet
ок, посмотрю
ну хук сделай const useDocumentTitle = (title: string) => ...
ну ок, вопрос больше на счет впихивать в эффект или нет
ну конечно впихивать в эффект это же сайд эффект от монтирования компонента
ну так дельного преимущества это же не дает в этом случае, просто для семантики? хотя вопрос конечно не такой важный чтоб обсуждать долго :Д
ты хочешь в коде компонента прямо писать код для смены титла? что бы он сие делал при каждом перерендере?
Без юзэффекта не поменяешь тайтл, можно еще на навигацию завязаться
операция же не дорогая, если только в этом разница
да нет же, можно просто написать document.title = 'value' в коде компонента ну или в отдельной функции, это сработает
Ну оно будет каждый ререндер срабатывать, но можно
ну прост не логично зачем делать при каждом перерндере это, если это надо только при моунте компонента делать ?
useEffect(() => { document.title = 'My Page Title'; }, []);
интересный вопрос как же всетаки правильно менять тайтл. юзеффект имхо не оч оптимально
для такой мелочи нет серебряной пули?
А как ты еще сделаешь? тут же дело в том, что логика на моунт компонента завязана Ну т.е. при показе TestPage заменить титл на "test page" И вот по идее надо как-то отловить это событие можно конечно сделать свой роутер или atomic router взять но это настолько глобальное измение подхода будет, что вопрос: а оно надо такое вообще?
я не пробовал но зачастую страницы грузятся с фетчем откуда таскаешь тайтл и вот тут могут быть траблы, остальные статика не переживаем
Обсуждают сегодня