@FeelsGoodMan

Нужно ли передавать объект сокета между файлами клиента?

В качестве первоначальной страницы у меня рендерится комп. авторизации, в нем подключение к серверу и создание сокета. По нажатию например на кнопку зарегистрироваться, через Link я попадаю на рендер комп. регистрации. Как правильно передать через to={...} ссылку на сокет и в файле регистрации или чата получить её? Либо нужно создавать сокеты для всех файлов отдельно? хотя какой в этом смысл.

Join.js
export default function SignIn() {

  const ENDPOINT = 'localhost:5000';
  let socket = io(ENDPOINT);

  return (
        <Link onClick={authorize} to={`/chat?name=${name}`}>
          <button className={'button mt-20'} type="submit">Sign In</button>
        </Link>
        <Link  to={`/registration`}>
          <button className={'button mt-20'} type="submit" >Sign Up</button>
        </Link>
  
  );
}


App.js

const App = () => {
  return (
    <Router>
      <Route path="/" exact component={Join} />
      <Route path="/chat" component={Chat} />
      <Route path="/registration" component={Registration} />
    </Router>
  );
}
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
@holysheepcoder
Можно поднять socket на уровень App и передавать роутам либо компонентам в роутах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы