小编Suc*_*uch的帖子

使用 Material UI makeStyles 时键入的道具

我正在尝试将我的一些 React 组件从 Material UI迁移到新的makeStyles/ useStyleshook API。如果我理解正确classes,只要我将道具传递给,我就可以继续接受来自父组件的道具useStyles

const MyComponent = (props: Props) => {
  const { myProp } = props;
  const classes = useStyles(props);
Run Code Online (Sandbox Code Playgroud)

我想知道Props在这种情况下如何声明我的类型。HOC API 的等价物是:

const styles = createStyles({
  a: {},
  b: {}
});

interface Props extends WithStyles<typeof styles> {
  myProp: string;
}
Run Code Online (Sandbox Code Playgroud)

这是一些有效但看起来有点冗长的东西:

const styles = createStyles({
  a: {},
  b: {}
});

interface Props extends StyledComponentProps<ClassKeyOfStyles<typeof styles>> {
  myProp: string;
}

const useStyles = makeStyles(styles);
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?理想情况下,不需要createStyles和使用 …

typescript reactjs material-ui

12
推荐指数
1
解决办法
1万
查看次数

Rails:用另一个表中的列的值更新列

我基本上有以下代码:

ModelA.join(:modelB).update_all('modelA.column = modelB.column')
Run Code Online (Sandbox Code Playgroud)

失败了:

ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "modelB"
LINE 1: ..." SET modelAs.column = modelBs...
                                                         ^
UPDATE "modelAs" SET modelAs.column = modelBs.column WHERE "modelAs"."id" IN (
  SELECT "modelAs"."id" FROM "modelAs" INNER JOIN "modelBs" ON "modelBs"."id" = "modelAs"."modelB_id"
)
Run Code Online (Sandbox Code Playgroud)

查看生成的 sql 请求,很明显 Postgresql 希望 modelB 表出现在查询的更新部分。有办法做到这一点还是一个错误?

(该问题特定于 Postgresql / Postgresql Rails 适配器。上面的代码在 MySQL 上运行良好,连接子句也被复制到请求的更新部分中)

postgresql activerecord ruby-on-rails rails-postgresql

6
推荐指数
0
解决办法
1913
查看次数

为什么firefox能够读取m4a/aac文件,而不是嵌入HTML5?

据我所知,由于许可问题,Firefox决定不支持AAC,但是如何直接在Firefox中读取m4a文件呢?(我正在使用28.0)

例如,使用此文件:

http://www.jplayer.org/audio/m4a/TSP-01-Cro_magnon_man.m4a

(ffmpeg: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s)

它预期不适用于:

<audio controls>
   <source src="http://www.jplayer.org/audio/m4a/TSP-01-Cro_magnon_man.m4a">
</audio>
Run Code Online (Sandbox Code Playgroud)

firefox html5 aac m4a

5
推荐指数
1
解决办法
5029
查看次数

如何使用 devise-jwt 刷新 JWT 令牌

有没有办法刷新Rails 中devise-jwt提供的 JWT 令牌?或者是强制用户重新进行身份验证的最佳实践?

ruby-on-rails devise jwt

5
推荐指数
1
解决办法
4070
查看次数

对 graphql-ruby 中的字段进行授权

从本指南中,我不明白我们如何在 graphql-ruby 中的字段上添加授权。

我了解我们如何拒绝访问整个对象,但我不明白我们如何阻止仅访问对象的一个​​字段。在我的用例中,我想阻止一些查询访问String field我的UserType.

是否可以?跟field帮手?

ruby graphql graphql-ruby

5
推荐指数
1
解决办法
1196
查看次数