Показать сообщение отдельно
  #7 (permalink)  
Старый 01.08.2024, 12:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Или вот так, если "слов" именно два...

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)
  })
  const a = arr[ind].split(' ')
  return (
    <section>
      <p>Привет, я Денис, <Word wrd={a[0]} /> {a[1] && <Word wrd={a[1]} />}
      </p>
    </section>
  );
}


const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <StrictMode>
    <App />
  </StrictMode>,
);
Ответить с цитированием