Почему я не могу заставить Context или Props работать в проекте Electron-Boilerplate-React? - PullRequest
0 голосов
/ 27 января 2020

Я создаю приложение Electron-Boilerplate-React и у меня возникают проблемы с использованием Context и / или Props

В главном окне стандартного шаблона я поместил компонент, но я не могу ' Похоже, что pu sh поддерживает это - их нет, когда я нахожусь в отладчике внутри компонента. Я пытался использовать контекст для передачи информации в компонент в окне, но также безрезультатно.

Я думаю, что это как-то связано с тем, что между root нет слоев. и содержимое окна - кажется странным, что слои, которые я использовал для реализации моей структуры, отсутствуют в представлении элементов ...

Я новее, чем я, надеюсь, React и Electron - но я ' я узнал что-то новое раньше !!

В файле Root. js я добавил MessagesProvider (со значением по умолчанию)

<Provider store={store}>
  <ConnectedRouter history={history}>
    <MessagesProvider>
      <Routes />
    </MessagesProvider>
  </ConnectedRouter>
</Provider>

А затем в компоненте вниз в поддереве контекст не работает

   const msgSrvCtx = useContext(MessagesContext);

  const [textLog, setTextLog] = useState('NOTE: this application needs to remain open in order to provide coordination between the SPA and your computer.');

  const addToLog = (someText) => {
    setTextLog(someText + NEW_PARAGRAPH + textLog);
  };

  const doHandleOpenGDrive = (payload) => {
    addToLog('doHandleOpenGDrive');
    addToLog(JSON.stringify(payload));
  };

  msgSrvCtx.messageService.subscribe('deanListener', 'gDriveLink', doHandleOpenGDrive);

  const logProps = {
    textLog
  };

  return <Log {...logProps} />;
...