Skip to content
This repository has been archived by the owner on Jan 27, 2021. It is now read-only.

'dynostoreOptions' of undefined #25

Closed
emailodroid opened this issue Feb 23, 2019 · 4 comments
Closed

'dynostoreOptions' of undefined #25

emailodroid opened this issue Feb 23, 2019 · 4 comments
Labels
bug Something isn't working investigation required We're not sure what's going on yet

Comments

@emailodroid
Copy link

emailodroid commented Feb 23, 2019

Problem

When i attach new reducer and saga i get
Uncaught TypeError: Cannot read property 'dynostoreOptions' of undefined

My store file

import { applyMiddleware, createStore, compose } from 'redux';
import { createLogger } from 'redux-logger';
import createSagaMiddleware from 'redux-saga';
import { createPromise } from 'redux-promise-middleware';
import { composeWithDevTools } from 'redux-devtools-extension';
import { persistStore, persistReducer } from 'redux-persist';
import dynostore, { dynamicReducers } from '@redux-dynostore/core';
import { dynamicSagas } from '@redux-dynostore/redux-saga';
import storage from 'redux-persist/es/storage';
import rootSaga from 'erpcore/sagas/rootSaga';
import combinedReducers from 'erpcore/reducers';

const sagaMiddleware = createSagaMiddleware();
const reducer = persistReducer({ key: 'state', storage, whitelist: [''] }, combinedReducers);

//  Preparing middleware for store
let middleware = null;
if (process.env.REACT_APP_REDUX_DEBUGGER === 'true') {
    middleware = composeWithDevTools(
        applyMiddleware(createPromise(), createLogger(), sagaMiddleware),
        dynostore(dynamicReducers(), dynamicSagas(sagaMiddleware))
    );
} else {
    middleware = compose(applyMiddleware(createPromise(), sagaMiddleware));
}

//  Prepare store for Provider
const store = createStore(reducer, middleware);

//  Mount sagas
sagaMiddleware.run(rootSaga);

//  Prepare persistor for persistStore
const persistor = persistStore(store);

//  Exporting store and persistor for providers in index
export { store, persistor };

My component with reducers and sagas that needs to be injected

import React from 'react';
import dynamic from '@redux-dynostore/react-redux';
import subspaced from '@redux-dynostore/react-redux-subspace';
import { attachReducer } from '@redux-dynostore/redux-subspace';
import runSaga from '@redux-dynostore/redux-subspace-saga';

import createEventWizardReducer from './CreateEventWizard.reducer';
import { createEventWizardSaga } from './CreateEventWizard.saga';

const CreateEventWizard = () => {
    return <h1>CreateEventWizard</h1>;
};

export default dynamic(
    'identifier',
    subspaced(),
    attachReducer(createEventWizardReducer),
    runSaga(createEventWizardSaga)
)(CreateEventWizard);

@emailodroid
Copy link
Author

I think that was the problem with react-redux version. after i downgraded it from 6 to 5 that works fine but i got another error:
TypeError: Cannot read property 'subspaceOptions' of undefined

Here is my package.json

        "@babel/core": "7.2.2",
        "@redux-dynostore/core": "^2.0.0",
        "@redux-dynostore/react-redux": "^2.0.0",
        "@redux-dynostore/react-redux-subspace": "^2.0.0",
        "@redux-dynostore/redux-saga": "^2.0.0",
        "@redux-dynostore/redux-subspace": "^2.0.0",
        "@redux-dynostore/redux-subspace-saga": "^2.0.0",
        "@svgr/webpack": "4.1.0",
        "apollo-boost": "^0.1.28",
        "babel-core": "7.0.0-bridge.0",
        "babel-eslint": "9.0.0",
        "babel-jest": "23.6.0",
        "babel-loader": "8.0.5",
        "babel-plugin-named-asset-import": "^0.3.1",
        "babel-preset-react-app": "^7.0.1",
        "bfj": "6.1.1",
        "case-sensitive-paths-webpack-plugin": "2.2.0",
        "css-loader": "1.0.0",
        "dotenv": "6.0.0",
        "dotenv-expand": "4.2.0",
        "eslint": "5.12.0",
        "eslint-config-airbnb": "^17.1.0",
        "eslint-config-prettier": "^4.0.0",
        "eslint-config-react-app": "^3.0.7",
        "eslint-import-resolver-alias": "^1.1.2",
        "eslint-loader": "2.1.1",
        "eslint-plugin-flowtype": "2.50.1",
        "eslint-plugin-import": "2.14.0",
        "eslint-plugin-jsx-a11y": "6.1.2",
        "eslint-plugin-prettier": "^3.0.1",
        "eslint-plugin-react": "7.12.4",
        "file-loader": "2.0.0",
        "fork-ts-checker-webpack-plugin-alt": "0.4.14",
        "fs-extra": "7.0.1",
        "graphql": "^14.1.1",
        "graphql-tag": "^2.10.1",
        "html-webpack-plugin": "4.0.0-alpha.2",
        "identity-obj-proxy": "3.0.0",
        "jest": "23.6.0",
        "jest-pnp-resolver": "1.0.2",
        "jest-resolve": "23.6.0",
        "jest-watch-typeahead": "^0.2.1",
        "mini-css-extract-plugin": "0.5.0",
        "node-sass": "^4.11.0",
        "optimize-css-assets-webpack-plugin": "5.0.1",
        "pnp-webpack-plugin": "1.2.1",
        "postcss-flexbugs-fixes": "4.1.0",
        "postcss-loader": "3.0.0",
        "postcss-preset-env": "6.5.0",
        "postcss-safe-parser": "4.0.1",
        "prettier": "1.16.4",
        "prop-types": "^15.7.2",
        "react": "^16.8.1",
        "react-apollo": "^2.4.1",
        "react-app-polyfill": "^0.2.1",
        "react-dev-utils": "^7.0.3",
        "react-dom": "^16.8.1",
        "react-helmet": "^5.2.0",
        "react-loadable": "^5.5.0",
        "react-redux": "5.1.0",
        "react-router-dom": "^4.3.1",
        "redux": "^4.0.1",
        "redux-devtools-extension": "^2.13.8",
        "redux-form": "^8.1.0",
        "redux-logger": "^3.0.6",
        "redux-mock-store": "^1.5.3",
        "redux-persist": "^5.10.0",
        "redux-promise-middleware": "^6.0.1",
        "redux-saga": "^1.0.1",
        "reselect": "^4.0.0",
        "resolve": "1.10.0",
        "sass-loader": "7.1.0",
        "style-loader": "0.23.1",
        "terser-webpack-plugin": "1.2.2",
        "url-loader": "1.1.2",
        "webpack": "4.28.3",
        "webpack-dev-server": "3.1.14",
        "webpack-manifest-plugin": "2.0.4",
        "workbox-webpack-plugin": "3.6.3"

@mpeyper mpeyper added bug Something isn't working investigation required We're not sure what's going on yet labels Feb 24, 2019
@mpeyper
Copy link
Contributor

mpeyper commented Feb 24, 2019

Hi @emailodroid,

You're correct about react-redux v6, it is not supported (yet)

I'll take a look at this and see if I can work out what's going wrong. A replication codesandbox (or sandbox of your choice) is really helpful for debugging these kinds of issues.

Can you share the rest of the stack trace as well?

@qideng
Copy link

qideng commented May 29, 2019

Got the same error of TypeError: Cannot read property 'subspaceOptions' of undefined.

It went away when I use
import createSagaMiddleware from 'redux-subspace-saga';
instead of
import createSagaMiddleware from 'redux-saga';

My package.json has

...
"react-redux": "^5.1.1",
"redux-subspace": "^2.4.0",
"redux-subspace-saga": "^2.4.0",
... 

And here is the trace:

TypeError: Cannot read property 'subspaceOptions' of undefined
    at eval (/app/node_modules/@redux-dynostore/redux-subspace-saga/node_modules/redux-subspace/es/index.js:383:111)
    at _callee2$ (/app/node_modules/@redux-dynostore/redux-subspace-saga/node_modules/redux-subspace-saga/es/index.js:156:66)
    at tryCatch (/app/node_modules/@redux-dynostore/redux-subspace-saga/node_modules/redux-subspace-saga/node_modules/regenerator-runtime/runtime.js:62:40)
    at Generator.invoke [as _invoke] (/app/node_modules/@redux-dynostore/redux-subspace-saga/node_modules/redux-subspace-saga/node_modules/regenerator-runtime/runtime.js:288:22)
    at Generator.prototype.(anonymous function) [as next] (/app/node_modules/@redux-dynostore/redux-subspace-saga/node_modules/redux-subspace-saga/node_modules/regenerator-runtime/runtime.js:114:21)
    at next (/app/node_modules/redux-saga/es/internal/proc.js:320:27)
    at currCb (/app/node_modules/redux-saga/es/internal/proc.js:397:7)
    at runGetContextEffect (/app/node_modules/redux-saga/es/internal/proc.js:732:5)
    at runEffect (/app/node_modules/redux-saga/es/internal/proc.js:444:1676)
    at next (/app/node_modules/redux-saga/es/internal/proc.js:324:9)

@mpeyper
Copy link
Contributor

mpeyper commented Jan 27, 2021

Closing. Please see #484 for details.

@mpeyper mpeyper closed this as completed Jan 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working investigation required We're not sure what's going on yet
Projects
None yet
Development

No branches or pull requests

3 participants