我正在开发一个带有 React Native (expo) 的应用程序,它必须滚动到 ScrollView 组件的末尾。我已经尝试了
scrollTo()
和scrollToEnd()
,但都不起作用。错误消息总是某种“...不是函数”。
我已经尝试了我找到的任务的每个示例,但它仍然不起作用。
我尝试了使用引用和函数的不同方法。例如,网络上最常见的模式之一:
const scrollRef = useRef()
<ScrollView ref={scrollRef} onContentSizeChange={scrollRef.current.scrollToEnd()}>
此错误消息是:
类型错误:未定义不是对象(评估“scrollRef.current.scrollToEnd”)
(
useRef()
是从react导入的)
我也尝试通过
scrollTo()
从返回部分之外的函数滚动到末尾,但这总是导致
scrollTo() 未定义
(当我尝试scrollToEnd()时也是同样的情况)
我在 App.js 中使用的是函数而不是类,这在这种特定情况下有什么区别吗?
请随时分享您的想法,即使它们可能不是那么具体,一切都可能会有所帮助。
祝你有美好的一天。
改变
onContentSizeChange={scrollRef.current.scrollToEnd()}
到
onContentSizeChange={() => scrollRef.current.scrollToEnd()}
了解更多关于 渲染中的箭头功能 这里。