2016-07-05 29 views
0

我有一個用react-redux構建的複雜表單,我需要知道這個表單是否從另一個javascript在同一頁上有效。一些jquery模塊。從另一個js模塊與redux-react應用程序進行通信的正確方式是什麼

最簡單的方法是添加valid/not_valid動態類的反應形式,並做類似

$('#myform').hasClass('valid') 

但是讓我們假設驗證是不是我從這個需要作出反應的應用程序的唯一的事情,我想爲一些獲得者建立一種接口。例如:

isValid(), getTitle, doSomethingElse methods. 

什麼是正確的方法來做到這一點?

+0

由於您使用的是redux,爲什麼不嘗試使用redux-thunk?它使您能夠實施條件分派。如果條件失敗,請勿派遣;否則,調度行動。 – Kiwi

+0

@Kiwi您的評論在這麼多層面上令人困惑和誤導。 – xiaofan2406

+0

@ xiaofan2406我只是建議作者嘗試使用redux-thunk,而不是使用jQuery。 – Kiwi

回答

0

理想情況下,您應該在商店內存儲您需要的React應用程序之外的任何信息,然後在您正在編寫的任何jQuery中訪問商店。這也可能會朝着另一個方向發展,使用React應用程序可能需要注意的任何特定數據來更新商店。

0

一個可行的方法:

您可以嘗試保存引用您在一個全局變量實例存儲。

E.g.讓我們在頂層說陣營compnonent App.js你做

import MyMainStore from '..../MyMainStore'; 
. 
. 
. 

<Provider store={MyMainStore}>...</Provider> 

//Then finally also do 
_MyApp.ReduxStore = MyMainStore; 

在這樣的非反應您的應用程序/ Redux的一部分,您可以通過訪問狀態 -

_MyApp.ReduxStore.getState().myFormReducer.someExpectedState

期待聽取如果這對你有用。

相關問題