我的组件Child有一个membervariable,它可以明显地更改。然而,据我所知,我只能通过PROPS和STATES。我知道我可以通过PROPS或其他参数传递我的成员变量,但没有更漂亮的解决方案吗?
class Child extends React.Component<any,any> {
private anyValue:string;
constructor(props) {
this.change = this.change.bind(this);
}
public render() {
return (
<input onChange={this.change} value={this.anyValue}/>
);
}
private change(e:any) {
this.anyValue = e.target.value;
}
}
这正是状态的设计目的:
class Child extends React.Component<any,{anyValue: string}> {
constructor(props) {
super(props);
this.change = this.change.bind(this);
}
public render() {
return (
<input onChange={this.change} value={this.state.anyValue}/>
);
}
private change(e:any) {
this.setState({anyValue: e.target.value});
}
}
您唯一的其他选择是使用forceUpdate
。