Как я могу импортировать следующую функцию в другой файл? - PullRequest
0 голосов
/ 07 ноября 2019

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

Если я экспортирую следующую функцию, которая возвращаетОбъект, то как я могу использовать возвращенный сохраненный / возвращенный персистор в другой функции

export default () => {
    let store = createStore(persistedReducer, compose(window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()));
    let persistor = persistStore(store);
    return { store, persistor };
}

Ответы [ 4 ]

0 голосов
/ 07 ноября 2019

Вы не можете так вернуться. Если вы используете концепцию магазина, вы можете использовать это следующим образом.

import { createStore, applyMiddleware, compose } from "redux";
import thunk from "redux-thunk";
import rootReducer from "./reducers";

const initialState = {};

const middleware = [thunk];

const store = createStore(
  rootReducer,
  initialState,
  compose(
    applyMiddleware(...middleware),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  )
);

export default store;

и

import store from "./store";
import PrivateRoute from "./helper/privateRoutes";
import { loadUser } from "./store/actions/userActions";
import { ToastContainer } from "react-toastify";

function App() {
  useEffect(() => {
    store.dispatch(loadUser());
  }, []);
  return (
    <Provider store={store}>
      <ToastContainer />
      <Router>
        <div className="App">
          <Nav />
          <Switch>
            <Route exact path="/" component={SignIn} />
            <Route exact path="/signup" component={SignUp} />
            <PrivateRoute path="/posts" component={Post} />
            <PrivateRoute path="/addpost" component={AddPost} />
            <PrivateRoute path="/todos" component={Todo} />
            <PrivateRoute path="/addtodo" component={AddTodo} />
          </Switch>
        </div>
      </Router>
    </Provider>
  );
}
0 голосов
/ 07 ноября 2019

пусть имя файла index.js

import xyz from './index';
0 голосов
/ 07 ноября 2019
// File A
export default () => {}

// File B
import myFunction from './fileA';
const sameFunction = require('./fileA');

// File A
export const myFunction = () => {}

// File B
import { myFunction } from './fileA';
const fileAExports = require('./fileA');
const { myFunction } = fileAExports;

Подробнее здесь https://www.sitepoint.com/understanding-module-exports-exports-node-js/

0 голосов
/ 07 ноября 2019

Просто используйте импорт по умолчанию:

import storageCreator from './file';
...