localeProvider.tsx 855 B

1234567891011121314151617181920212223242526272829303132333435
  1. import React, { Component } from 'react';
  2. import PropTypes from 'prop-types';
  3. import LocaleContext from './context';
  4. import DefaultLocale from './source/zh_CN';
  5. import { Locale } from './interface';
  6. export interface LocaleProviderProps {
  7. children?: React.ReactNode;
  8. locale?: Locale
  9. }
  10. export default class LocaleProvider extends Component<LocaleProviderProps> {
  11. static propTypes = {
  12. locale: PropTypes.object,
  13. children: PropTypes.node,
  14. };
  15. static defaultProps = {
  16. locale: DefaultLocale
  17. };
  18. constructor(props: LocaleProviderProps) {
  19. super(props);
  20. this.state = {};
  21. }
  22. render() {
  23. const { children, locale } = this.props;
  24. return (
  25. <LocaleContext.Provider value={locale}>
  26. {children}
  27. </LocaleContext.Provider>
  28. );
  29. }
  30. }