Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const App = () => {
const divRef = useRef(null);
const { stayScrolled } = useStayScrolled(divRef);
const [messages, setMessages] = useState(initialMessages);
useInterval(() => {
setMessages((prevMessages) => prevMessages.concat([message]));
}, 500);
useLayoutEffect(() => {
stayScrolled();
}, [messages]);
return (
<div style="{style}">
{/* eslint-disable-next-line react/no-array-index-key */}
{messages.map(({ text }, i) => <div>{`${text} ${i}`}</div>)}
</div>
);
export default (props) => {
const divRef = useRef(null);
const intervalRef = useRef(null);
const { stayScrolled } = useStayScrolled(divRef);
const [messages, setMessages] = useState(initialMessages);
useEffect(() => {
intervalRef.current = setInterval(() => {
setMessages(prevMessages => prevMessages.concat([message]));
}, 500);
}, []);
useLayoutEffect(() => {
stayScrolled();
}, [messages]);
return (
<div>
{/* eslint-disable-next-line react/no-array-index-key */}
{messages.map(({ text }, i) => <div>{`${text} ${i}`}</div>)}</div>