github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/ui/src/util/normalizeConnectedComponent.tsx (about) 1 // Copyright 2020 The Cockroach Authors. 2 // 3 // Use of this software is governed by the Business Source License 4 // included in the file licenses/BSL.txt. 5 // 6 // As of the Change Date specified in that file, in accordance with 7 // the Business Source License, use of this software will be governed 8 // by the Apache License, Version 2.0, included in the file 9 // licenses/APL.txt. 10 11 import React, { ExoticComponent } from "react"; 12 13 /* 14 * normalizeConnectedComponent function returns react element created by wrapping Connected component (which in fact is 15 * not a 'valid' react component (see: ) and provided properties. 16 * It is required for passing correct components to Route component. 17 * For more details see: @types/react/index.d.ts:314 18 * > "However, we have no way of telling the JSX parser that it's a JSX element type or its props other than 19 * > by pretending to be a normal component." 20 * */ 21 // tslint:disable-next-line:variable-name 22 export const normalizeConnectedComponent = (ConnectedComponent: ExoticComponent) => 23 (props: React.ComponentProps<any>) => <ConnectedComponent {...props} />;