Расширяя мой комментарий, вот как вы можете сделать эту работу. Главное, что нужно помнить, это то, что компоненты React рендерится только тогда, когда меняется их реквизит или состояние. Вот рабочее решение с использованием состояния.
Измените соответствующий раздел render
на
<h3 className="center-align" id="my_name">
{this.state.name}
</h3>
В конструкторе включите this.state ={name: "Dwkuow Flexul"}
и переместите имя обновив logi c до componentDidMount
, используя setState
для обновления имени:
componentDidMount = () => {
let hiddenName = [
"Dwkuow Flexul",
"Dwkuow Flexua",
"Dwkuow Flexia",
"Dwkuow Flecia",
"Dwkuow Flrcia",
"Dwkuow Farcia",
"Dwkuow Garcia",
"Dwkuoe Garcia",
"Dwkupe Garcia",
"Dwkipe Garcia",
"Dwlipe Garcia",
"Delipe Garcia",
"Felipe Garcia",
];
let i = 0;
let name = "Dwkuow Flexul";
const createDevName = setInterval(() => {
i += 1;
if (i > 12) {
clearInterval(createDevName);
}
this.setState({name: hiddenName[i]});
}, 500);
};
Вы также должны очистить интервал в componentWillUnmount
, чтобы избежать утечек памяти в случае разрушения компонента рано. (Для которого потребуется переместить идентификатор интервала из локальной области действия componentDidMount
в свойство всего компонента.)