0

我正在尝试使用本机反应制作实时聊天应用程序。这是我遇到的问题。理想情况下,当发送新消息时,消息列表应该向上滚动一点以显示新消息,就像其他著名的聊天应用程序一样。但是我的情况是这样的,列表是一个消息滞后。假设列表底部的消息是“你好”,当我发送另一条消息“世界”时,新消息“世界”不显示。消息“你好”仍然在底部。当我发送另一条消息“为什么”时,列表向上滚动并出现消息“世界”。但是“为什么”的消息仍然不可见。当我手动滚动列表时,会出现最后一条消息。

这是代码:

const [messages, setMessages] = useState([])
const flatListRef = useRef()

const scrollUp = () => flatListRef.current.scrollToEnd()

useEffect(fetchMessages)
useEffect( scrollUp, [messages])

<FlatList
  ref={flatListRef}
  …
>

谁能告诉我我的代码有什么问题?谢谢。

4

0 回答 0