我需要创建自定义列表项的轮播,并且我已经将轮播组件库之一(react-native-snap-carousel)导入到项目中,但是轮播组件需要返回需要的组件的道具。呈现为轮播itemList。 所以我发送这样的道具
[carousel {:render-item (fn [] [my-custom-item])
...otherprops... }]
但是此消息出错 p>
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
我如何发送道具作为返回元素的函数?
这是如何在js上调用轮播组件
<Carousel
ref={(c) => { this._carousel = c; }}
data={this.state.entries}
renderItem={this._renderItem}
sliderWidth={sliderWidth}
itemWidth={itemWidth}
/>
答案 0 :(得分:0)
轮播组件期望从render-item函数返回一个react元素或一个字符串。但是您将返回普通试剂组分。
您需要使用试剂的as-element函数将试剂成分转换为反应成分:
[carousel {:render-item (fn [] (reagent/as-element [my-custom-item]))
...otherprops... }]