更新2 - 添加最少的「工作」例子顯示問題導入終極版店是不確定的(加載順序問題?)
我就下調的項目,因爲我可以同時仍呈現問題,允許人們嘗試的想法/調試,如果他們有興趣發生 github:store_import_test
錯誤:request.js
注:我知道賞金即將到期,但如果我要重新啓用那個會發生。我非常感激迄今爲止所有的想法/幫助!
結束更新2
更新1 - 目的描述:
欲從商店訪問的值在一個 '效用函數'(即可以改變超時)。根據redux docssubscribe
是一個有效的選項。
末更新
我試圖導入我的終極版店內組件的外(在request.js
,見下文)類似於:What is the best way to access redux store outside a react component?
然而,所有這些解決方案(包括https://github.com/reactjs/redux/issues/776)不起作用,因爲我的request.js
試圖在createStore()
之前導入商店,因此store.js
導致store
爲undefined
。
我的目錄結構看起來像這樣
.
├── app
│ ├── api
│ ├── network
│ | └── request.js
│ ├── app.js
│ ├── store.js
├── index.android.js
├── index.ios.js
的index.android/ios.js
是入口點,只是加載app.js
index.android/ios.js
import App from './app/app'
app.js個
import store from './store'
class App extends React.Component {
render() {
return (
<Provider store={store}>
<RootStackNavigation />
</Provider>
)
}
}
store.js
...
const store = createStore(reducer, initialState, middleware())
export default store
請求。JS
import store from '../../store'
store.subscribe(listener)
...
const someFunc(){}
export default someFunc
我的想法/是我的嘗試/在我迷路
注:request.js
的store
進口路徑是有效的,雙重檢查 注2:該store
可用在app.js
和程序的其餘部分
我會認爲import store from '../../store'
在request.js
會觸發const store = createStore(reducer, initialState, middleware())
行,但appar它似乎確實如此。
嘗試1
我想還出口店這樣:
export const store = createStore(reducer, initialState, middleware())
和進口它request.js
爲:
import {store} from '../../store
想也許'聰明'默認加載會做一些魔法我不知道/理解。同樣的錯誤,未定義
嘗試2添加getStore()
到store.js
let store = null
store = createStore(reducer, initialState, middleware())
export function getStore() {
if (store == null) {
store = createStore(reducer, initialState, middleware())
}
return store
}
export default store
不工作,參數createStore
尚未初始化。
我必須誤解加載過程或將它與Python的混合,但是什麼妨礙了它的工作?其他人似乎也成功地使用了相同的解決方案(請參閱上述職位)。
我認爲你正在嘗試使用反應的狀態(與Redux管理),而不使用反應,這不會發生。您是否考慮將該請求作爲中間件應用於該應用程序? –
如果你看看我鏈接的內容,你會看到人們成功地做了我所要求的。例如這個解決方案https://stackoverflow.com/a/38480550/3869515我基本上試圖做同樣的解決方案。鑑於他們的成功,我認爲它應該是可能的 – ixje
在你的例子中偵聽器功能缺失,我猜你忘了粘貼它吧? –