我总是看到用箭头函数语法定义的纯React组件的示例:
const foo = () => (...);
export default foo;
Run Code Online (Sandbox Code Playgroud)
而不是更传统的函数定义语法:
function foo() {
return ...;
}
export default foo;
Run Code Online (Sandbox Code Playgroud)
是否有理由更喜欢前者而不是后者?
我以前在Play 2.1中将Checkstyle作为sbt任务实现.从Play 2.2开始,我收到以下错误:
[error] (*:checkstyle) java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSortedSet.of([Ljava/lang/Comparable;)Lcom/google/common/collect/ImmutableSortedSet;
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供有关如何解决此问题的见解?
我正在尝试将Checkstyle和PMD集成到Play框架中.我首先使用ymasory创建的giter8模板生成一个示例build.scala文件,该文件支持sbt控制台中的checkstyle和pmd命令.这工作正常,我已将结果项目上传到github:
https://github.com/ics-software-engineering/sbt-example-qa
当我尝试将此代码与Play new命令创建的Build.scala文件一起使用时,会出现此问题.giter8模板使用'settings'值集成checkstyle和pmd,如此处所示(请参阅整个定义的实际文件):
object ProjectBuild extends Build {
val main = Project(
"sbt-example-qa",
new java.io.File("."),
settings = Defaults.defaultSettings ++ ProjectSettings.all
)
}
Run Code Online (Sandbox Code Playgroud)
另一方面,'play new'命令生成的Build.scala文件具有不同的结构:
object ApplicationBuild extends Build {
val appName = "play-example-qa"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean
)
val main = play.Project(appName, appVersion, appDependencies).settings(
// Add your own project settings here
)
}
Run Code Online (Sandbox Code Playgroud)
具体来说,'play new'创建的Build.scala文件定义了一个play.Project而不是一个由giter8模板创建的Project.
我在"在这里添加我自己的项目设置"以使Checkstyle和PMD进入Play项目的所有尝试都失败了,语法错误如下:
[info] Loading project definition from /Users/johnson/projecthosting/github/play- example-qa/project
[error] /Users/johnson/projecthosting/github/play-example-qa/project/Build.scala:17: overloaded …Run Code Online (Sandbox Code Playgroud) 我正在尝试按照以下说明使用 Robo 3T 连接到 MongoDB Atlas 数据库:
https://mrvautin.com/connecting-to-mongodb-atlas-with-robo-3t/
我收到如下所示的 SSL 隧道故障消息:
我已经验证我可以使用 Mongo shell 从命令行连接到这个数据库:
因此,我的防火墙或白名单设置似乎不是问题。(对于此数据库,白名单允许来自任何 IP 地址的传入连接。)
我曾尝试在 Robo 3T 中同时使用“直接连接”和“副本集”作为“类型”,但每次都出现相同的错误。
我非常有信心提供正确的用户名和密码。
如何诊断和解决此问题?
我刚刚更新了我的play-example-form应用程序以使用Play 2.3.7.它运行得非常顺利,但是现在当我运行应用程序时,我在控制台中收到以下警告:
[warn] play - You are using status code '200' with flashing, which should only be used with a redirect status!
Run Code Online (Sandbox Code Playgroud)
在我看来,我需要在我的控制器中用其他东西替换"ok"的使用,但是(例如)替换"redirect"不起作用.这是控制器代码,突出显示相关行.
我该如何解决这个问题,或者这只是一个我可以忽略的虚假警告?
checkstyle ×2
sbt ×2
ecmascript-6 ×1
javascript ×1
mongodb ×1
pmd ×1
reactjs ×1
robo3t ×1
scala ×1