嗨,大家好,我是一名刚开始使用路由器的初学程序员.
我有两个问题.使用<Link to="/page">
和有<a href="page">
什么区别?两者都提出完全相同的get请求,/page
但是<a href="page">
当我使用<Link to="/page">
时出现错误但是当我使用嵌套路由时它会起作用.我不明白当我知道两者都渲染到完全相同的URL时会有什么不同
其次是反应路由器v4文档中的奇怪箭头功能
const About = () => (
<div>
<h2>About</h2>
</div>
)
Run Code Online (Sandbox Code Playgroud)
我知道() => {}
这些是ES6中的新功能,但我在普通括号而不是括号中找不到任何内容.这些是什么?
编辑
我的index.js类(我有所有的导入)
render((
<Router>
<div>
<Route component={App}/>
</div>
</Router>
), document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
我的App.js课
class App extends Component {
render() {
return (
<div className="container">
<header>
<span className="icn-logo"><i className="material-icons">code</i></span>
<ul className="main-nav">
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
<li><Link to="/teachers">Teachers</Link></li>
<li><Link to="/courses">Courses</Link></li>
</ul>
</header>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>
<Route …
Run Code Online (Sandbox Code Playgroud) 我已经在其他线程中尝试了所有建议的方法,但它仍然无法正常工作,这就是我发布问题的原因.
所以我history.js
看起来像这样
import { createBrowserHistory } from 'history';
export default createBrowserHistory;
Run Code Online (Sandbox Code Playgroud)
我的 index.js
render((
<Router history={history}>
<div>
<Route component={App}/>
</div>
</Router>
), document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
Home.js
看起来像这样
class Home extends Component {
handleSubmit(e) {
e.preventDefault();
let teacherName = e.target.elements[0].value;
let teacherTopic = e.target.elements[1].value;
let path = `/featured/${teacherName}/${teacherTopic}`;
history.push(path);
}
render() {
return (
<div className="main-content home">
<hr />
<h3>Featured Teachers</h3>
<form onSubmit={this.handleSubmit}>
<input type="text" placeholder="Name"/>
<input type="text" placeholder="Topic"/>
<button type="submit"> Submit </button>
</form>
</div>
);
}
}
export default …
Run Code Online (Sandbox Code Playgroud) 我想将R与节点JS集成.我发现了一个简单的npm调用r-script
,允许r脚本在节点js上运行.
对于那些不知道r-script是什么的人,以下节点JS运行IntegrationTest.R
R脚本
节点JS代码
var R = require('r-script');
var out = R('/Users/JC/Documents/Programming/R/Tutorial/IntegrationTest.R')
.data()
.callSync();
console.log(out);
Run Code Online (Sandbox Code Playgroud)
IntegrationTest.R脚本
print('hello')
Run Code Online (Sandbox Code Playgroud)
所以当我运行节点JS代码时,上面打印你好.
然后,当我尝试下面的脚本(R脚本顺便在R studio上工作)时,它会抛出我的错误并说Loading Required Packages : ape
.
我想也许它不知道从哪里获得R包所以我指定了存储库,但它仍然引发了我同样的错误.
任何试图将R与节点JS集成的人都会遇到同样的事情或知道这里发生了什么?
谢谢
节点JS
var R = require('r-script');
var out = R('/Users/JC/Documents/Programming/R/Tutorial/MoransI.R')
.data()
.callSync();
console.log(out);
Run Code Online (Sandbox Code Playgroud)
MoransI.R
if (!require("ape")) {
install.packages("ape", repos="http://cran.rstudio.com/")
library("ape")
}
ozone <- read.csv('/Users/JC/Documents/Programming/R/Tutorial/ozone.csv', sep=',', header=T)
head(ozone, n=10)
ozone.dists <- as.matrix(dist(cbind(ozone$Lon, ozone$Lat)))
ozone.dists.inv <- 1/ozone.dists
diag(ozone.dists.inv) <- 0
ozone.dists.inv[1:5, 1:5]
Moran.I(ozone$Av8top, ozone.dists.inv)
Run Code Online (Sandbox Code Playgroud)
老实说,我认为两个R脚本之间的唯一区别是第一个不加载任何包而第二个加载包.
我们认为这AppSync
将是我们React Native应用程序开发的绝佳工具。但是,问题在于开发中的可伸缩性。整日浏览Google,找到一种AppSync
离线进行开发的方法,以便任何人都可以自由创建API并将其合并,我意识到没有这样的解决方案。
那么大型团队如何使用来开发本机应用程序AppSync
?您是否AppSync
为拥有的每个开发人员创建应用程序,以便每个人都可以自由更改自己的API,然后将其合并到生产AppSync
应用程序中?
我真的希望有一种本地开发API并使用git合并它们并将代码直接上传到的方法AppSync
。据我所知这是不可能的,但是如果您知道某种方法或其他方法,请告诉我。
导入多个内容是什么意思?例如
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'
Run Code Online (Sandbox Code Playgroud)
这只是React Router的一个示例,而javascript文档仅显示了“ as”后的一个声明示例
好像将BrowserRouter导入为Router,Route和Link一样,所以所有三个变量都引用同一个库。如果我是对的,那你为什么要这么做呢?
一样var Router, Route, Link = require('react-router-dom').BrowserRouter();
吗?
我目前在为我的项目使用快递和车把。这是我第一次使用把手,我无法弄清楚如何正确引用CSS和JS文件的位置
我当前的项目结构如下
- test (root)
-views
-js
-some JS files
-css
-some css files
-layout
-main.handlebars
- servers.js (my server)
Run Code Online (Sandbox Code Playgroud)
所以我在main.handlebars布局文件中进行了跟踪
<!Doctype html>
<html>
<head>
<title></title>
{{#each css}}
<link rel="stylesheet" href="../css/{{this}}">
{{/each}}
</head>
<body>
{{{body}}}
{{#each js}}
<script src="../js/{{this}}"></script>
{{/each}}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在内部{{this}}
,index.css用于css,index.js用于js。
但这给了Cannot GET 404 http://localhost:8000/js/index.js
错误。所以我想也许车把是从根源上看的。所以我尝试了
<!Doctype html>
<html>
<head>
<title></title>
{{#each css}}
<link rel="stylesheet" href="views/css/{{this}}">
{{/each}}
</head>
<body>
{{{body}}}
{{#each js}}
<script src="views/js/{{this}}"></script>
{{/each}}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但这Cannot GET 404 http://localhost:8000/views/js/index.js
在看起来正确的文件位置时产生了错误。
在车把中引用js和CSS文件的正确方法是什么?
我必须mongodb
使用官方文档(父母引用,子引用,祖先数组,物化路径,嵌套集)建议的四种方法创建一个树结构,我决定使用它,array of ancestors
因为树的层级会很深可能有数千个级别或更多.所以我认为存储中的惩罚可以通过更快的速度来补偿,因为在查找节点的所有父节点时需要较少的查询.
问题是树必须是严格的二进制.因此,例如节点1将只有节点2和节点3作为其子节点而不再具有节点.不幸的是,我现在只能想到这样做是为了找到所有引用我想在下一个文档中引用的特定父级的文档,如果计数不超过2,我会插入引用目标父级的文档.
显然问题是mongodb的多线程性质,即使它不是,查询引用目标父级的计数的请求可能介于扫描和插入前一个文档之间,如果有的话会导致第三次插入一个文档已经引用了目标父级.
有没有办法可以确保只有两个节点可以引用mongodb和服务器的多线程环境中的父节点?
使用AppSync
和DynamoDB
作为数据库源时,如何自动生成ID ?
我有一个看起来像下面的类型
type Post {
id: ID!
creator: String!
createdAt: String!
like: Int!
dislike: Int!
frozen: Boolean!
}
Run Code Online (Sandbox Code Playgroud)
和输入如下所示
input CreatePostInput {
id: ID!
creator: String!
createdAt: String!
like: Int!
dislike: Int!
frozen: Boolean!
}
Run Code Online (Sandbox Code Playgroud)
而我的突变显然是两者的结合
createPost(input: CreatePostInput!): Post
Run Code Online (Sandbox Code Playgroud)
但是,当我进行插入时,我必须执行以下操作
mutation createPost{
createPost(input:{
id:2
creator:"some creator"
createdAt:"some date"
like:0
dislike:0
frozen:false
}){
id
creator
createdAt
like
dislike
frozen
}
}
Run Code Online (Sandbox Code Playgroud)
我无法插入帖子而不必知道当前id
正在做什么。在插入表之前,有什么方法可以提供null
,也可以提供任何随机值id
,DynamoDB
或者AppSync
自动创建下一个索引吗?
我更新时
input CreatePostInput
不接受任何错误 …
当我尝试时出现以下错误docker-compose up
graphql_1 | Error: Error loading shared library /usr/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node: Exec format error
graphql_1 | at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
graphql_1 | at Module.load (internal/modules/cjs/loader.js:599:32)
graphql_1 | at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
graphql_1 | at Function.Module._load (internal/modules/cjs/loader.js:530:3)
graphql_1 | at Module.require (internal/modules/cjs/loader.js:637:17)
graphql_1 | at require (internal/modules/cjs/helpers.js:20:18)
graphql_1 | at Object.<anonymous> (/usr/app/node_modules/bcrypt/bcrypt.js:6:16)
graphql_1 | at Module._compile (internal/modules/cjs/loader.js:689:30)
graphql_1 | at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
graphql_1 | at Module.load (internal/modules/cjs/loader.js:599:32)
graphql_1 | at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
graphql_1 | at Function.Module._load (internal/modules/cjs/loader.js:530:3)
graphql_1 | at Module.require (internal/modules/cjs/loader.js:637:17)
graphql_1 …
Run Code Online (Sandbox Code Playgroud) @immutable
abstract class MyGithubReposState extends Equatable {
MyGithubReposState([List props = const []]) : super(props);
}
Run Code Online (Sandbox Code Playgroud)
我在我使用的库之一中看到了上面的代码。是什么[List props = const []]
意思?道具清单清单?
javascript ×5
node.js ×3
reactjs ×3
aws-appsync ×2
react-router ×2
css ×1
dart ×1
database ×1
docker ×1
flutter ×1
html ×1
mongodb ×1
r ×1
tree ×1