1
저는 첫 번째 setState()에서 두 번째 setState()를 콜백으로 사용하는 구성 요소를 사용합니다. 이 가난한 관행인가? 두 setStates를 동 기적으로 호출하는 또 다른 방법이 있습니까?콜백에서 두 번째 setState 만들기 - 나쁜 습관?
처음에는 첫 번째 setState()에서 updateData()를 호출했을 때 myComponent 구성 요소에 올바른 데이터를 렌더링하는 데 지연이있었습니다. 그것은 뒤에 하나의 '단계'였다. 이 방법이 효과적이지만 일반적인 방법입니까?
import React, { Component } from "react";
import MyComponent from "../../components/MyComponent";
import RaisedButton from "material-ui/RaisedButton";
import { generateData } from "./generateData";
class App extends Component {
constructor(props) {
super(props);
this.state = {
text: "",
data: []
};
}
updateData(){
this.setState({
data: generateData(this.state.text)
})
}
handleChange(e) {
this.setState({
text: e.target.value
},() => {
this.updateData(this.state.text)
});
}
handleSubmit(e) {
e.preventDefault();
}
render() {
return (
<div>
<h2>Input</h2>
<form onSubmit={e => this.handleSubmit(e)}>
<textarea
value={this.state.text}
onChange={e => this.handleChange(e)}
/>
<div>
<RaisedButton type="submit"/>
</div>
</form>
<h2>Output</h2>
<MyComponent data={this.state.data} />
</div>
);
}
}
export default App;
나는 실수로 generateData (this.state.text)를 호출하기 전에 - 그게 내 문제였다. 고맙습니다! ;) – FakeEmpire