В общем можно ли как то обойти работу через props
Зачем мне везде передавать className внутрь
а если это несколько наследуемых компонентов?
А какие кейсы бывают, когда компонент может возвращать не DOM?
Или отдельный компонент, который, к примеру, с глобальным стейтом работает и с данными с сервера, а отдельный, чтобы не думать о ререндере детей.пример бы ему
import io from '...';
const NotificationObserver = () => {
const update_notification_in_global_store = useStore('...'); // пример
useEffect(() => {
const fn = msg => {
update_notification_in_global_store(msg.data);
}
io.on('notification',fn);
return () => {
io.off('notification', fn)
}
}, [])
return null;
}
const Comp = ({ children }) => {
return (
<>
<NotificationObserver />
<MessageObserver />
<TopicObserver />
<UserObserver />
{children}
</>
);
};const Comp = ({ children }) => {
return (
<NotificationObserver>
<MessageObserver>
<TopicObserver>
<UserObserver>{children}</UserObserver>
</TopicObserver>
</MessageObserver>
</NotificationObserver>
);
};