У меня есть контейнер без атрибута высоты (высота равна содержимому, которое его заполняет), и я изменяю текстовое содержимое в этом контейнере, которое в конечном итоге меняет высоту. Я пытаюсь выяснить, как я могу поместить переход на контейнер для изменения высоты. Я не могу инициализировать высоту в контейнере, потому что this.state.text будет динамически c, а текст, на который он будет изменяться, будет также динамически c. Текущий код, который я сейчас имею, не показывает перехода при изменении высоты контейнера. Вот простой пример, чтобы показать вам, о чем я говорю.
Вот компонент:
import React, { Component } from "react";
export default class Test extends Component {
constructor(props) {
super(props);
this.state = {
text: "Item 2",
};
}
changeText = () => {
this.setState({
text:
"A much longer text@@@@@@@ @@@@@@@ @@@@@@ @@@@@@@@ @@@@@ @@@@ @@@@@@ @@@@ @@@@@ @@@@@@ @@@@@@@ @@@@@@@@@@ @@@@ @@@@ @@@@@@@@@@@@@@@!",
});
};
render() {
return (
<div>
<div className="text">
<div className="item1">Item 1</div>
<div className="item2">{this.state.text}</div>
<div className="item3">Item 3</div>
</div>
<button onClick={this.changeText}>Click</button>
</div>
);
}
}
Вот css:
.text {
background-color: yellow;
max-width: 300px;
transition: all 3s ease-out;
}