适当的反应组件使用

时间:2016-11-22 23:08:46

标签: reactjs redux

我有一个使用React和Redux的项目。我有多个React组件需要使用一个通用方法,该方法将数据从Redux Store中删除,构建一个请求对象并触发对服务器的休息请求。

我不想写多次执行此操作的方法。那么,这个方法应该是它自己的React组件,还是应该把它放在一个普通的javascript文件中呢?如果你不渲染任何JSX,我不确定组件的含义是什么。另一方面,如果我把它放在一个普通的javascript文件中,是否可以将redux连接到该文件以访问商店中的状态?

提前致谢。

2 个答案:

答案 0 :(得分:2)

添加operator<<中间件可让您调度函数,然后可以访问redux-thunkdispatch。从那里你可以做任何你想做的事情,比如使用选择器函数来提取你需要的状态片段,以及进行AJAX调用。 thunk动作创建者可以作为道具传递给组件,包括将它们绑定到自动调度:

getState()

更多资源:

答案 1 :(得分:1)

它不应该是一个组件,因为正如你所说,它没有视觉方面。

创建一个新的操作,并从您需要的任何地方发送操作。此操作可以检查商店以查看操作是否已经发生,然后不执行任何操作(或刷新)。

使用colors=[('spades','♠'), ('hearts','♥'),('diamonds','♦'),('clubs','♣')] colors=[s for (n,s) in colors] faces=['A','2','3','4','5','6','7','8','9','1','J','Q','K'] cards=list(__import__("itertools").product(colors, faces)) __import__("random").shuffle(cards) nbplayers=5 nbcards=6 def cardstostr(cards): return ",".join(map(lambda (c,f): f+c, cards)) for i in range(nbplayers): print cardstostr(cards[nbcards*i:nbcards*(i+1)]) print cardstostr(cards[nbplayers*nbcards:]) 的模块会创建您的商店。在操作模块中导入创建的商店,然后使用store.getState()检查商店的当前状态。