親コンポーネントには、基本的にはフォームがあり、ローダを持つオーバーレイがあり、親の状態に基づいて表示する必要があります。親状態に基づいて反応コンポーネントを動的にレンダリングします。
import React from 'react';
import Overlay from './overlay';
export default class RegisterForm extends React.Component {
constructor {
this.state = {
loading: false
};
}
handleSubmit(){
this.state.loading = true;
...
}
render(){
return(
<form onSubmit={() => this.handleSubmit()}>
...
<Overlay />
</form>
);
}
}
どのようにすればいいですか?
私もAを設定してみました...
を私はReact.cloneElement(<Overlay />, {})
を試してみましたが、私はどのように再追加この子の親に知らないと私は理解して、それは物事のリアクト通行ではありませんprop
OB Overlay
はReact.cloneElement(<Overlay />, { visible = this.state.loading })
のような親のstate
、に基づいていますが、
残念ながら、これはどちらか動作しません。私は '{(this.state.loading == true)? :null} 'と' {(this.state.loading)? :null} 'と' {this.state.loading && } ' –
afkatja
あなたのhandleSubmitにevent.preventDefaultを使用してください。更新された答えを確認してください –
私はすでに元のコードでこれを持っていました。 (それは無関係だと思った?) – afkatja