Мне нужно изменить заголовок страницы в зависимости от текущего состояния моего магазина. Прямо сейчас я придумал
const useTitle = () => {
const { foo, bar } = useSelector(selectFoorBar);
const baz = useSelector(selectBaz);
const fooBarDisplayString = format(foo, bar);
const barDisplayString = (bar ?? 0).toFixed(0);
useEffect(() => {
document.title = `${fooBarString} | ${bazDisplayString}`;
}, [fooBarDisplayString, bazDisplayString]);
};
export default useTitle;
Это имя useTitle
соответствующий? Технически это крючок, потому что он использует другие хуки, поэтому он должен начинаться с use
ключевое слово. Это кажется странным для кого-то вроде меня, выходящего за пределы мира React. Кроме того, он не возвращает никакого заголовка, так что это больше похоже на keepTitleUpToDate()
, который должен стать useKeepTitleUpToDate()
что еще более странно. Как бы вы это назвали?
Уместно ли сохранить эту функциональность в хуке, как это сделал я, или в React есть какое-то другое соглашение для вещей, которые зависят от хуков?