0

私のコンポーネントの子には、明らかに変更できるメンバー変数があります。ただし、私が知る限り、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;
    }
}
4

1 に答える 1

0

これはまさに状態が設計されているものです。

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です。

于 2018-07-25T15:56:16.193 に答える