Size: a a a

React: русскоязычное сообщество

2021 March 09

D

Daniyar in React: русскоязычное сообщество
Как организовать правильную структуру?

У меня компонент where определяет куда отправить пользователя в зав-ти зареган он или нет.

where.js
const Where = () => {
 const currentUser = storage.getCurrentUser();
 if (!currentUser) {
   return <Redirect to="/reg" />;
 }
 return <Redirect to="/" />;
};

export default Where;


runApp.js
const runApp = () => {
 if (!storage.isInit()) {
   storage.initDataBase();
 }

 const store = configureStore({ reducer });

 render(
   <BrowserRouter>
     <Provider store={store}>
       <Where />
       <Switch>
         <Route exact path="/reg" component={RegistrationPage} />
         <Route exact path="/auth" component={AuthenticationPage} />
         <Route exact path="/" component={Home} />
       </Switch>
     </Provider>
   </BrowserRouter>,
   document.getElementById('root'),
 );
};


По сути само наличие компонента where излишне, но без него не могу по другому придумать
источник

M

Maksim Sharov in React: русскоязычное сообщество
Daniyar
Как организовать правильную структуру?

У меня компонент where определяет куда отправить пользователя в зав-ти зареган он или нет.

where.js
const Where = () => {
 const currentUser = storage.getCurrentUser();
 if (!currentUser) {
   return <Redirect to="/reg" />;
 }
 return <Redirect to="/" />;
};

export default Where;


runApp.js
const runApp = () => {
 if (!storage.isInit()) {
   storage.initDataBase();
 }

 const store = configureStore({ reducer });

 render(
   <BrowserRouter>
     <Provider store={store}>
       <Where />
       <Switch>
         <Route exact path="/reg" component={RegistrationPage} />
         <Route exact path="/auth" component={AuthenticationPage} />
         <Route exact path="/" component={Home} />
       </Switch>
     </Provider>
   </BrowserRouter>,
   document.getElementById('root'),
 );
};


По сути само наличие компонента where излишне, но без него не могу по другому придумать
можно использовать HOC или хук, который при отсутвии регистрации рендерит компонент, который живет под путем /reg сейчас у тебя
источник

D

Daniyar in React: русскоязычное сообщество
Maksim Sharov
можно использовать HOC или хук, который при отсутвии регистрации рендерит компонент, который живет под путем /reg сейчас у тебя
самому написать хук?
источник

M

Maksim Sharov in React: русскоязычное сообщество
Daniyar
самому написать хук?
вполне
источник

D

Daniyar in React: русскоязычное сообщество
Maksim Sharov
вполне
Ок, но ты меня натолкнул на такую мысль, кстати работает)

{currentUser ? <Redirect to="/reg" /> : <Redirect to="/" />}
источник

M

Maksim Sharov in React: русскоязычное сообщество
но у тебя можно сделать проще, ты же основышаешь на каких-то данных по регистрации.

возвращай прям компонент, который должен
источник

M

Maksim Sharov in React: русскоязычное сообщество
Daniyar
Ок, но ты меня натолкнул на такую мысль, кстати работает)

{currentUser ? <Redirect to="/reg" /> : <Redirect to="/" />}
тебе виднее
источник

D

Daniyar in React: русскоязычное сообщество
Maksim Sharov
но у тебя можно сделать проще, ты же основышаешь на каких-то данных по регистрации.

возвращай прям компонент, который должен
а потом внутри, когда редиректы есть, дублируется отображение компонентов
источник

D

Daniyar in React: русскоязычное сообщество
Maksim Sharov
тебе виднее
Все равно спасибо! 👍
источник

D

Daniyar in React: русскоязычное сообщество
Как организовать вложенность компонентов и обеспечить доступность стора во всех компонентах?

    <BrowserRouter>
     <Provider store={store}>
       {currentUser ? <Redirect to="/reg" /> : <Redirect to="/" />}
       <Switch>
         <Route exact path="/reg" component={RegistrationPage} />
         <Route exact path="/auth" component={AuthenticationPage} />
         <Route exact path="/" component={Home} />
       </Switch>
     </Provider>
   </BrowserRouter>,


Компонент Home состоит из двух компонентов: Header & ItemsList.
Но до них store не доходит, почему-то.
источник

M

Maksim Sharov in React: русскоязычное сообщество
Daniyar
Как организовать вложенность компонентов и обеспечить доступность стора во всех компонентах?

    <BrowserRouter>
     <Provider store={store}>
       {currentUser ? <Redirect to="/reg" /> : <Redirect to="/" />}
       <Switch>
         <Route exact path="/reg" component={RegistrationPage} />
         <Route exact path="/auth" component={AuthenticationPage} />
         <Route exact path="/" component={Home} />
       </Switch>
     </Provider>
   </BrowserRouter>,


Компонент Home состоит из двух компонентов: Header & ItemsList.
Но до них store не доходит, почему-то.
Если у тебя редакс, тебе нужно подключать каждый компонент к стору
источник

D

Daniyar in React: русскоязычное сообщество
Maksim Sharov
Если у тебя редакс, тебе нужно подключать каждый компонент к стору
Калину?
источник

M

Maksim Sharov in React: русскоязычное сообщество
Daniyar
Калину?
Если у тебя редакс
источник

D

Daniyar in React: русскоязычное сообщество
Maksim Sharov
Если у тебя редакс
нашел) Не правильно использовал юзСелектор! Спасибо Дружище!
источник

VP

Vlad Prodan in React: русскоязычное сообщество
Переслано от Vlad Prodan
Всем привет! Есть профиль, меняю фото юзера, сейчас поменялся только главное фото, а в хедере нет, и после перезагрузки страницы фото исчезает
источник

VP

Vlad Prodan in React: русскоязычное сообщество
Переслано от Vlad Prodan
источник

VP

Vlad Prodan in React: русскоязычное сообщество
Переслано от Vlad Prodan
источник

VP

Vlad Prodan in React: русскоязычное сообщество
Переслано от Vlad Prodan
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Ну так запрос фейлится
источник

VP

Vlad Prodan in React: русскоязычное сообщество
Юра Чеботаев
Ну так запрос фейлится
Самое интересное что именно с этой фоткой проблемы, а если на другую менять то все ок
источник