纠结上面的问题。看到类似的问题,但无法弄清楚。
下面的代码是我第一次尝试在使用 .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) 执行以下操作:
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) 我正在尝试使用 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) 我的 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)
我只是想要value和value_classification。可以看出,这些值位于一个数组中。
我怀疑 Circe 正在寻找解码 aList[data]但我不想创建 acase …
circe ×2
scala ×2
circe-optics ×1
doobie ×1
http4s ×1
http4s-circe ×1
java ×1
java-time ×1
json ×1
reactjs ×1
redux ×1
typescript ×1