Сообщение от deniscikasov@gmail.com
|
Появилось слово Веб-разработчик, потом оно удалилось и вместо него появилось Постоянно учусь и как бы сделать так, что бы Постоянно учусь удалилось не полностью, а только слово Учусь и вместо него написалось Ленюсь. И всё по циклу пошло заново
|
Как вариант - сделать так. В консоли будет видно что рендерится только "учусь" и "ленюсь"...
Правда в StrictMode они будут повторяться дважды... Но это уже другая история.
import {StrictMode, useEffect, useState, memo} from 'react';
import ReactDOM from 'react-dom/client';
//
const Word = memo(({wrd}) => {
console.log('Word', wrd)
return (
<span>{wrd} </span>
)
})
//
const arr = ['Веб-разработчик', 'Постоянно учусь', 'Постоянно ленюсь']
//
function App(props) {
const [ind, setInd] = useState(0)
useEffect(_ => {
const t = setInterval(_ => setInd(v => (v + 1) % arr.length) ,1000)
return _ => clearInterval(t)
})
return (
<section>
<p>Привет, я Денис, {arr[ind].split(' ').map(v => <Word key={v} wrd={v} />)}
</p>
</section>
);
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<StrictMode>
<App />
</StrictMode>,
);