Skip to content

Commit 5fcd38a

Browse files
committed
react: Remove usage of removed React.StatelessComponent
1 parent f8922a4 commit 5fcd38a

File tree

4 files changed

+17
-24
lines changed

4 files changed

+17
-24
lines changed

packages/material-renderers/test/renderers/MaterialArrayControl.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import MaterialArrayControlRenderer from '../../src/complex/MaterialArrayControl
3434
import { materialCells, materialRenderers } from '../../src';
3535
import Enzyme, { mount, ReactWrapper } from 'enzyme';
3636
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
37-
import { JsonFormsStateProvider, StatelessRenderer } from '@jsonforms/react';
37+
import { JsonFormsStateProvider } from '@jsonforms/react';
3838
import { initCore, TestEmitter } from './util';
3939
import { checkTooltip, checkTooltipTranslation } from './tooltipChecker';
4040

@@ -376,10 +376,10 @@ describe('Material array control', () => {
376376
expect(onChangeData.data.length).toBe(1);
377377
});
378378

379-
const CellRenderer1: StatelessRenderer<DispatchCellProps> = () => (
379+
const CellRenderer1: React.FC<DispatchCellProps> = () => (
380380
<div className='cell test 1' />
381381
);
382-
const CellRenderer2: StatelessRenderer<DispatchCellProps> = () => (
382+
const CellRenderer2: React.FC<DispatchCellProps> = () => (
383383
<div className='cell test 2' />
384384
);
385385

packages/react/src/Renderer.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,10 @@ export class RendererComponent<
4646
* Stateless Renderer.
4747
*
4848
* @template P type of any renderer props
49+
* @deprecated Use React.FunctionComponent instead
4950
*/
5051
export type StatelessRenderer<P extends RendererProps> =
51-
React.StatelessComponent<P>;
52+
React.FunctionComponent<P>;
5253

5354
/**
5455
* Represents a Renderer, which might either be a component or a function.
@@ -57,4 +58,4 @@ export type Renderer =
5758
// TODO fix @typescript-eslint/ban-types
5859
// eslint-disable-next-line @typescript-eslint/ban-types
5960
| RendererComponent<RendererProps & any, {}>
60-
| StatelessRenderer<RendererProps & any>;
61+
| React.FunctionComponent<RendererProps & any>;

packages/react/test/renderers/JsonForms.test.tsx

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import {
5050
} from '@jsonforms/core';
5151
import { isEqual } from 'lodash';
5252
import Enzyme, { mount, shallow } from 'enzyme';
53-
import type { StatelessRenderer } from '../../src/Renderer';
5453
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
5554
import {
5655
JsonForms,
@@ -114,13 +113,13 @@ export const initJsonFormsStore = ({
114113
return createStore(reducer, initState);
115114
};
116115

117-
const CustomRenderer1: StatelessRenderer<RendererProps> = () => <h1>test</h1>;
118-
const CustomRenderer2: StatelessRenderer<RendererProps> = () => <h2>test</h2>;
119-
const CustomRenderer3: StatelessRenderer<RendererProps> = () => <h3>test</h3>;
120-
const CellRenderer1: StatelessRenderer<DispatchCellProps> = () => (
116+
const CustomRenderer1: React.FC<RendererProps> = () => <h1>test</h1>;
117+
const CustomRenderer2: React.FC<RendererProps> = () => <h2>test</h2>;
118+
const CustomRenderer3: React.FC<RendererProps> = () => <h3>test</h3>;
119+
const CellRenderer1: React.FC<DispatchCellProps> = () => (
121120
<h1 className='cell test 1'>test</h1>
122121
);
123-
const CellRenderer2: StatelessRenderer<DispatchCellProps> = () => (
122+
const CellRenderer2: React.FC<DispatchCellProps> = () => (
124123
<h2 className='cell test 2'>test</h2>
125124
);
126125

@@ -256,7 +255,7 @@ test('ids should be unique within the same form', () => {
256255
});
257256

258257
const ids: string[] = [];
259-
const MyCustomRenderer: StatelessRenderer<any> = (props: any) => {
258+
const MyCustomRenderer: React.FC<any> = (props: any) => {
260259
ids.push(props.id);
261260
return <div>Custom</div>;
262261
};
@@ -432,9 +431,7 @@ test('JsonForms renderer should pick most applicable cell renderer via ownProps'
432431
});
433432
store.dispatch(registerCell(() => 50, CellRenderer1));
434433

435-
const ArrayRenderer: StatelessRenderer<RendererProps> = (
436-
props: RendererProps
437-
) => {
434+
const ArrayRenderer: React.FC<RendererProps> = (props: RendererProps) => {
438435
return (
439436
<DispatchCell
440437
schema={props.schema}
@@ -555,9 +552,7 @@ test('JsonForms renderer should pick schema from ownProps', () => {
555552
});
556553

557554
test('JsonForms renderer should pick enabled prop from ownProps', () => {
558-
const CustomRenderer4: StatelessRenderer<RendererProps> = (
559-
props: RendererProps
560-
) => {
555+
const CustomRenderer4: React.FC<RendererProps> = (props: RendererProps) => {
561556
return <h3>{`${props.enabled}`}</h3>;
562557
};
563558

@@ -1010,7 +1005,7 @@ test('JsonForms should update if data prop is updated', () => {
10101005
});
10111006

10121007
test('JsonForms should use additionalErrors if provided', () => {
1013-
const CustomRendererWithError: StatelessRenderer<ControlProps> = ({
1008+
const CustomRendererWithError: React.FC<ControlProps> = ({
10141009
errors,
10151010
}: ControlProps) => {
10161011
return <h5>{errors}</h5>;
@@ -1048,7 +1043,7 @@ test('JsonForms should use additionalErrors if provided', () => {
10481043
});
10491044

10501045
test('JsonForms should use react to additionalErrors update', () => {
1051-
const CustomRendererWithError: StatelessRenderer<ControlProps> = ({
1046+
const CustomRendererWithError: React.FC<ControlProps> = ({
10521047
errors,
10531048
}: ControlProps) => {
10541049
return <h5>{errors}</h5>;

packages/vanilla-renderers/src/cells/BooleanCell.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,10 @@ import {
3030
rankWith,
3131
} from '@jsonforms/core';
3232
import { withJsonFormsCellProps } from '@jsonforms/react';
33-
import type { StatelessComponent } from 'react';
3433
import type { VanillaRendererProps } from '../index';
3534
import { withVanillaBooleanCellProps } from '../util/index';
3635

37-
export const BooleanCell: StatelessComponent<CellProps> = (
38-
props: CellProps & VanillaRendererProps
39-
) => {
36+
export const BooleanCell = (props: CellProps & VanillaRendererProps) => {
4037
const { data, className, id, enabled, uischema, path, handleChange } = props;
4138

4239
return (

0 commit comments

Comments
 (0)