javascript - 在 Reactjs 中导入带有样式的无状态功能组件

标签 javascript css reactjs jss

When implementing this answer, I get the following error message.

Inbox.js:52 Error getting documents:

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

Check the render method of WithStyles(Component).

Inbox.js 调用 MyView.js。 MyView.js 导入 <MyButtons/>

我的 View .js
import MyRegularButton from './MyButtons';
import MyStyledButton from './MyButtons';

<MyButtons />

我做错了什么?

我的按钮.js
import React from 'react';
import { withStyles, } from '@material-ui/core';

const styles = theme => ({
  button: {
    margin: theme.spacing.unit,
  },
});

const MyRegularButton = props => (<Button>Click me!</Button>);

const MyStyledButton = ({ classes, }) => (
  <Button className={classes.button}>Click me!</Button>
);

export default withStyles(styles, { withTheme: true })({ MyRegularButton, MyStyledButton })

最佳答案

从您的 Button.js 文件中,您可以导出这两个组件,如

import React from 'react';
import { withStyles, } from '@material-ui/core';

const styles = theme => ({
  button: {
    margin: theme.spacing.unit,
  },
});

const MyRegularButton = props => (<Button>Click me!</Button>);

const MyStyledButton = ({ classes, }) => (
  <Button className={classes.button}>Click me!</Button>
);

const Regular = withStyles(styles, { withTheme: true })(MyRegularButton)
const StyledButton = withStyles(styles, { withTheme: true });(MyStyledButton);                                                       
export { Regular,StyledButton}

然后您可以将其导入到不同的文件中,例如:

从 './Button' 导入 { Regular}

从 './Button' 导入 { StyledButton }

关于javascript - 在 Reactjs 中导入带有样式的无状态功能组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54760206/

相关文章:

css - 两级水平下拉菜单

javascript - 如何使 react 倒数计时器

HTML 内容在加载时从一个段落移动到多个段落

node.js - 在 NodeJS 中执行 webpack 编译的 bundle

javascript - 在reactJS中使用setState重新渲染时如何调用其他构造函数?

javascript - 如何使用鼠标滚动控制 fullPage.js 垂直 slider ?

javascript - 根据其他 ID src 更改 ID 的 CSS

javascript - 如何禁用用户选中的默认复选框以取消选中

javascript - 如何使用定义为 RegExp 或函数的 View 来定义 CKEditor5 双向转换器?

css - primefaces 子表 styleClass