如何在React-Redux Algolia中将扩展运算符传递给hitComponent?
解决方法:将props传递给Hit组件
你现在的写法是把{...this.props}直接传给了<Hits>组件本身,但Hit组件并没有接收到这些props。要把这些props传递给hitComponent指向的Hit组件,可以通过一个匿名函数来包裹Hit,合并两组props:
<Hits hitComponent={hitProps => <Hit {...hitProps} {...this.props} />} />
原理说明:
hitComponent接收的是一个函数(或组件),Hits内部会调用这个函数并传入它自己的hit相关props(比如当前的hit数据)- 我们通过匿名函数把Hits传来的
hitProps和你想要传递的{...this.props}合并,再一起传给Hit组件,这样Hit就能同时拿到两组props了
如果你的Hits组件支持render prop的写法,也可以这样写,可读性会更好:
<Hits> {hitProps => <Hit {...hitProps} {...this.props} />} </Hits>
这样修改后,Hit这个独立类组件就能接收到你想要传递的所有props啦~
内容的提问来源于stack exchange,提问作者mkarrfan
相关产品推荐
相关产品推荐

