Вызовите действие без использования Redux (где внутреннее приложение уже использует Redux), чтобы использовать IDLE? - PullRequest
0 голосов
/ 20 января 2020

Я использую React Idle , и я хочу выйти из системы с функцией logout через X секунд.

Функция выхода из системы расположена в файле действия, работает отлично (когда пользователь нажимает кнопку выхода из системы).

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

Рассмотрим код:

index. js

import React from "react";
import ReactDOM from "react-dom";
import AppWrapper from "./AppWrapper";
ReactDOM.render(<AppWrapper />, document.getElementById("root"));

То есть AppWrapper обертывания App и

AppWrapper. js

import React, { useState } from "react";
import App from "./App";
import IdleTimer from "react-idle-timer";
import { connect } from "react-redux";
import { logout } from "./actions/auth";

const AppWrapper = ({ logout }) => {
  const [idleTimer, setIdleTimer] = useState(null);


  const onIdle = e => {
    console.log("user is idle ... bye bye!");
    logout();  // Can't call this function 
  };
  return (
    <div>
      <IdleTimer
        ref={ref => {
          setIdleTimer(ref);
        }}
        element={document}
        onIdle={() => onIdle()}
        debounce={250}
        timeout={1000 * 2}
      />
      <App />
    </div>
  );
};

const mapStateToProps = state => ({});

const mapDispatchToProps = { logout };

export default connect(mapStateToProps, mapDispatchToProps)(AppWrapper);

Приложение. js

import { Provider } from "react-redux";
import store from "./store";

const App = () => {

    <Provider store={store}>

        ... The rest of the components of the Application

    </Provider>

}

Проблема в том, что я получаю:

Не удалось найти «store» в контексте «Connect ( Приложение)". Либо оберните компонент root в, либо передайте пользовательский поставщик контекста React соответствующему потребителю контекста React в Connect (App) в параметрах подключения.

Я не хочу создавать другой сохранить, так как я могу вызвать функцию выхода из системы без Connect/Redux?

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