「モーダルウィンドウ」でReactjs + React-motionプロジェクトに取り組んでいます(たとえば)可能であれば、コンポーネントを動的にマウントまたはロードしたいですか?
これまでの私の解決策:方法が見つからなかったので、コンポーネントを配置して非表示にし、状態の変化時にクラスまたはスタイルを切り替えて、非表示のコンポーネントを明らかにし、「モーダルウィンドウ」の遷移が完了します。
以下のコードを共有すると、私がやろうとしていることを理解しやすくなります。イベント ハンドラーはなく、ほとんどのコードが削除されましたが、onRest
(アニメーションが終了したときのイベント コールバックが公開されています) とレンダリング fn.
class HomeBlock extends React.Component {
constructor (props) {
...
}
...
motionStyleFromTo () {
return {
...
};
}
onRest () {
// this is triggered when the Motion finishes the transition
}
render () {
return (
<Motion onRest={this.onRestCallback.bind(this)} style={this.motionStyleFromTo()}>
{style =>
<div className="content" style={{
width: `${style.width}px`,
height: `${style.height}px`,
top: `${style.top}px`,
left: `${style.left}px`
}}>
[LOAD COMPONENT HERE]
</div>
}
</Motion>
);
}
}
export default HomeBlock;