mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
44 lines
982 B
TypeScript
44 lines
982 B
TypeScript
import * as React from 'react';
|
|
import { Resolver, resolve, context } from 'react-resolver';
|
|
|
|
interface OwnProps {
|
|
thing: number;
|
|
}
|
|
|
|
interface ResolvedProps {
|
|
data: string;
|
|
}
|
|
|
|
class Page extends React.Component<OwnProps & ResolvedProps> {
|
|
render() {
|
|
return <div>Hello, {this.props.data}!</div>;
|
|
}
|
|
}
|
|
|
|
const ResolvedPageWithSingleProp = resolve('data', async () => {
|
|
return new Promise<string>(resolve => {
|
|
setTimeout(() => resolve('World'), 500);
|
|
});
|
|
})(Page);
|
|
|
|
const ResolvedPageWithPropMap = resolve({
|
|
data: async () => {
|
|
return new Promise<string>(resolve => {
|
|
setTimeout(() => resolve('World'), 500);
|
|
});
|
|
},
|
|
})(Page);
|
|
|
|
const PageWithContext = context('history')(Page);
|
|
|
|
<ResolvedPageWithSingleProp />;
|
|
<ResolvedPageWithPropMap />;
|
|
|
|
// Resolver.render(() => <ResolvedPageWithPropMap />, document.getElementById('app'));
|
|
|
|
Resolver.resolve(() => {
|
|
return <ResolvedPageWithPropMap />;
|
|
}).then(({ data, Resolved }) => {
|
|
data === 'World';
|
|
});
|