本文整理汇总了TypeScript中react.PropTypes.oneOfType方法的典型用法代码示例。如果您正苦于以下问题:TypeScript PropTypes.oneOfType方法的具体用法?TypeScript PropTypes.oneOfType怎么用?TypeScript PropTypes.oneOfType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类react.PropTypes
的用法示例。
在下文中一共展示了PropTypes.oneOfType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: require
import * as React from 'react'
import {PureRender} from "./pure-render"
const omitBy = require('lodash/omitBy')
const isUndefined = require('lodash/isUndefined')
const defaults = require('lodash/defaults')
export type RenderFunction = (props?:any, children?:any) => Element
export type Element = React.ReactElement<any>
export type RenderComponentType<P> = React.ComponentClass<P> | React.ClassicComponentClass<P> | Element | RenderFunction;
export const RenderComponentPropType = React.PropTypes.oneOfType([
function(props:any, propName: string, componentName: string) {
return isUndefined(props[propName]) || (props[propName]["prototype"] instanceof React.Component)
},
React.PropTypes.element,
React.PropTypes.func,
])
export function renderComponent(component:RenderComponentType<any>, props={}, children=null){
let isReactComponent = (
component["prototype"] instanceof React.Component ||
(component["prototype"] && component["prototype"].isReactComponent) ||
typeof component === 'function'
)
if (isReactComponent){
return React.createElement(
component as React.ComponentClass<any>,
props, children
)
} else if (React.isValidElement(component)){
示例2:
import { PropTypes } from 'react';
import { ViewProperties, View } from 'react-native';
export interface LayoutParams {
width?: number | "match_parent" | "wrap_parent";
height?: number | "match_parent" | "wrap_content";
}
export const LayoutParams = {
width: PropTypes.oneOfType([
PropTypes.number,
PropTypes.oneOf(["match_parent", "wrap_content"])
]),
height: PropTypes.oneOfType([
PropTypes.number,
PropTypes.oneOf(["match_parent", "wrap_content"])
])
}
export interface ViewGroupProperties extends ViewProperties {
layoutParams?: LayoutParams;
fitsSystemWindows?: boolean;
}
export const ViewGroupProperties = Object.assign({}, View.propTypes, {
layoutParams: PropTypes.shape(LayoutParams as any),
fitsSystemWindows: PropTypes.bool
});
示例3: defaults
orderDirection?: string
include?: Array<string> | string
exclude?: Array<string> | string
showCount?: boolean
showMore?:boolean
}
export const FacetFilterPropTypes = defaults({
field: React.PropTypes.string.isRequired,
operator: React.PropTypes.oneOf(["AND", "OR"]),
size: React.PropTypes.number,
title: React.PropTypes.string.isRequired,
id: React.PropTypes.string.isRequired,
containerComponent:RenderComponentPropType,
listComponent:RenderComponentPropType,
itemComponent:RenderComponentPropType,
translations: SearchkitComponent.translationsPropType(
FacetAccessor.translations
),
orderKey: React.PropTypes.string,
orderDirection: React.PropTypes.oneOf(["asc", "desc"]),
include: React.PropTypes.oneOfType([
React.PropTypes.string, React.PropTypes.array
]),
exclude: React.PropTypes.oneOfType([
React.PropTypes.string, React.PropTypes.array
]),
showCount: React.PropTypes.bool,
showMore: React.PropTypes.bool
},SearchkitComponent.propTypes)
示例4:
maxXValue: React.PropTypes.number.isRequired,
yValue: React.PropTypes.number.isRequired
});
export const bucketDatum = React.PropTypes.shape({
minXValue: React.PropTypes.number.isRequired,
maxXValue: React.PropTypes.number.isRequired,
minYValue: React.PropTypes.number.isRequired,
maxYValue: React.PropTypes.number.isRequired,
firstYValue: React.PropTypes.number.isRequired,
lastYValue: React.PropTypes.number.isRequired
});
export const ticks = React.PropTypes.oneOfType([
React.PropTypes.func,
React.PropTypes.number,
React.PropTypes.arrayOf(React.PropTypes.number)
]);
export const tickFormat = React.PropTypes.oneOfType([
React.PropTypes.func,
React.PropTypes.string
]);
export const axisSpecPartial = {
scale: React.PropTypes.func,
ticks: ticks,
tickFormat: tickFormat,
color: React.PropTypes.string
};