小编ful*_*yan的帖子

TS2339:类型“DefaultRootState”上不存在属性“tsReducer”

纠结上面的问题。看到类似的问题,但无法弄清楚。

下面的代码是我第一次尝试在使用 .js 和 .jsx 的现有 React 项目中使用 TypeScript 打开和关闭对话框。

import Button from '@material-ui/core/Button';
import Dialog from '@material-ui/core/Dialog';
import DialogActions from '@material-ui/core/DialogActions';
import DialogContent from '@material-ui/core/DialogContent';
import {useDispatch, useSelector} from 'react-redux';
import {closeTsDialog} from '../actions/tsDialog'
import {ActionTypes} from '../actions/types';

const TsApp = (): JSX.Element => {
    const dispatch = useDispatch();

// ERROR SHOWS UP ON LINE BELOW "state?.tsReducer?.isDialogOpen"
    const isDialogOpen = useSelector(state => state?.tsReducer?.isDialogOpen);
    const state = useSelector(s => s);
    console.log('->>>>>> state', state);


    // main tsx excluded to allow for …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs redux

29
推荐指数
6
解决办法
3万
查看次数

如何在没有 GMT 的情况下使用 java.time.ZonedDateTime 和 format.DateTimeFormatter?

执行以下操作:

val zonedFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm z")

ZonedDateTime.from(zonedFormatter.parse("31.07.2020 14:15 GMT"))
Run Code Online (Sandbox Code Playgroud)

给我:

"displayDate": "2020-07-31T14:15:00Z[GMT]"
Run Code Online (Sandbox Code Playgroud)

我想要没有 [GMT] 的:

"displayDate": "2020-07-31T14:15:00Z"
Run Code Online (Sandbox Code Playgroud)

java java-time

4
推荐指数
1
解决办法
258
查看次数

如何将 java.util.UUID 转换为 doobie.syntax.SqlInterpolator.SingleFragment?

我正在尝试使用 doobie、http4s 和 circe 设置一个带有数据库的简单 scala 应用程序。

如何将 java.util.UUID 转换为 doobie.syntax.SqlInterpolator.SingleFragment ?

final case class User(id: UUID, details: UserDetails)
Run Code Online (Sandbox Code Playgroud)
  implicit val userDecoder: Decoder[User] = deriveDecoder[User]
  implicit def userEntityDecoder[F[_]: Sync]: EntityDecoder[F, User] = jsonOf

  implicit val userEncoder: Encoder[User] = deriveEncoder[User]
  implicit def userEntityEncoder[F[_]: Applicative]: EntityEncoder[F, User] = jsonEncoderOf

  implicit val put: Put[User] =
    Put[Json].contramap(_.asJson)

  implicit val get: Get[User] =
    Get[Json].temap(_.as[User].left.map(_.show))

Run Code Online (Sandbox Code Playgroud)
[info] welcome to sbt 1.3.12 (N/A Java 14.0.1)
[info] loading global plugins from /Users/ryan/.sbt/1.0/plugins
[info] loading settings for project bobbymoore-build from …
Run Code Online (Sandbox Code Playgroud)

scala circe http4s doobie

2
推荐指数
1
解决办法
3059
查看次数

如何使用 Circe 解码包含 json 的数组

我的 circe 解码器如下所示。我确信我的情感解码器可以正常工作,因此下面不会包含它。

case class CryptoData(value: String, valueClassification: Sentiment)
Run Code Online (Sandbox Code Playgroud)
  implicit val decoder: Decoder[CryptoData] = Decoder.instance { json =>
    for {
      value               <- json.downField("data").get[String]("value")
      valueClassification <- json.downField("data").get[Sentiment]("value_classification")
    } yield CryptoData(value, valueClassification)
  }
Run Code Online (Sandbox Code Playgroud)

我的 Json 看起来像这样

{
  "name" : "Fear and Greed Index",
  "data" : [
    {
      "value" : "31",
      "value_classification" : "Fear",
      "timestamp" : "1631318400",
      "time_until_update" : "54330"
    }
  ],
  "metadata" : {
    "error" : null
  }
}
Run Code Online (Sandbox Code Playgroud)

我只是想要valuevalue_classification。可以看出,这些值位于一个数组中。

我怀疑 Circe 正在寻找解码 aList[data]但我不想创建 acase …

json scala circe http4s-circe circe-optics

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