アプリケーションコードのフローオブジェクトタイプ定義からキーを取得できますか(つまり、実行時コードで決まっていますか?)コード内のフローオブジェクトタイプからキーを取得
ユースケース:
type Props = {
userID: string,
size: number | PhotoSize,
subscribePresence: Function,
unsubscribePresence: Function,
presenceStatus: ?PresenceStatus,
photoURL: ?string,
userName: ?string,
};
class Photo extends Component<Props> {
// ...
render() {
const { userID, size, presenceStatus } = this.props;
// Other props used elsewhere in the component
const restProps = _.omit(this.props, ???)
}
}
render
に慣れていない他の小道具があるので広がりdestructure(const { /* etc */ ... rest} = this.props
)が動作しません。しかし、指定されている可能性がある他の小道具(className
、id
など)を取りに行きたいです。
Can ???
はObject.keys(Props)
と類似していますか?私が知る限り、型定義はコンパイルされているので、Props
を実行時コードで参照しようとすると、RuntimeError: Props is not defined
がスローされます。
いいえ、すべてのタイプ情報はコンパイル時に削除されます –