redux-devtools/packages/redux-devtools-inspector-monitor/src/tabs/StateTab.tsx

43 lines
1.1 KiB
TypeScript
Raw Normal View History

import React from 'react';
import PropTypes from 'prop-types';
import JSONTree from 'react-json-tree';
import { Action } from 'redux';
import getItemString from './getItemString';
import getJsonTreeTheme from './getJsonTreeTheme';
import { TabComponentProps } from '../ActionPreview';
const StateTab: React.FunctionComponent<
TabComponentProps<any, Action<unknown>>
> = ({
2019-01-10 21:51:14 +03:00
nextState,
styling,
base16Theme,
invertTheme,
labelRenderer,
dataTypeKey,
isWideLayout,
2019-01-10 21:51:14 +03:00
}) => (
<JSONTree
labelRenderer={labelRenderer}
theme={getJsonTreeTheme(base16Theme)}
data={nextState}
2019-01-10 21:51:14 +03:00
getItemString={(type, data) =>
getItemString(styling, type, data, dataTypeKey, isWideLayout)
}
invertTheme={invertTheme}
hideRoot
2019-01-10 21:51:14 +03:00
/>
);
StateTab.propTypes = {
nextState: PropTypes.any.isRequired,
styling: PropTypes.func.isRequired,
base16Theme: PropTypes.any.isRequired,
invertTheme: PropTypes.bool.isRequired,
labelRenderer: PropTypes.func.isRequired,
dataTypeKey: PropTypes.string,
isWideLayout: PropTypes.bool.isRequired,
};
export default StateTab;