Always use static/cached selectors in useSelector

This commit is contained in:
Jamie Kyle 2024-03-15 07:38:26 -07:00 committed by GitHub
parent d85a1d5074
commit 1e275a917c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 105 additions and 70 deletions

View file

@ -16,20 +16,20 @@ import {
getIsMainWindowFullScreen,
} from '../selectors/user';
import { hasSelectedStoryData } from '../selectors/stories';
import type { StateType } from '../reducer';
import { useAppActions } from '../ducks/app';
import { useConversationsActions } from '../ducks/conversations';
import { useStoriesActions } from '../ducks/stories';
import { ErrorBoundary } from '../../components/ErrorBoundary';
import { ModalContainer } from '../../components/ModalContainer';
import { SmartInbox } from './Inbox';
import { getAppView } from '../selectors/app';
function renderInbox(): JSX.Element {
return <SmartInbox />;
}
export const SmartApp = memo(function SmartApp() {
const app = useSelector((state: StateType) => state.app);
const appView = useSelector(getAppView);
const { openInbox } = useAppActions();
const { scrollToMessage } = useConversationsActions();
@ -37,7 +37,7 @@ export const SmartApp = memo(function SmartApp() {
return (
<App
{...app}
appView={appView}
isMaximized={useSelector(getIsMainWindowMaximized)}
isFullScreen={useSelector(getIsMainWindowFullScreen)}
osClassName={OS.getClassName()}