Gol*_*Jer 12 javascript react-native recompose
我的具体目标是使用ScrollView 的ScrollTo方法,但维护功能组件结构.
更一般地,这需要获得当前组件的参考,这是裸体反应原生的.
在2016年12月重新组合添加允许withHandlers的处理程序属性是一个工厂函数,但我无法弄清楚如何正确使用它.
如何在Recompose中使用withHandlers向函数组件添加refs并在ScrollView上调用ScrollTo?
小智 21
你可以尝试这样的事情:
/* ... */
const MyView = ({ onRef, children }) => (
<View>
<ScrollView ref={onRef} /* ... */>
{children}
</ScrollView>
</View>
)
export default compose(
withHandlers(() => {
let myScroll = null;
return {
onRef: () => (ref) => (myScroll = ref),
scrollTo: () => (value) => myScroll.scrollTo(value)
}
},
lifecycle({
componentDidMount() {
this.props.scrollTo({ x: 0, y: 100, animated: true })
}
})
)(MyView)
Run Code Online (Sandbox Code Playgroud)
我个人比较喜欢以Ref作为道具
withProps(() => ({
ref: React.createRef(),
})),
Run Code Online (Sandbox Code Playgroud)
然后将其传递给您的无状态组件
const MyComponent = ({ ref }) => <Foo ref={ref} />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4160 次 |
最近记录: |