Javascript 使用Meteor.js+;React.js
我的问题是如何在服务器端正确设置与客户端上的react.js连接的路由 我正在开发一个基于它的应用程序,我正在与它集成。应用程序将需要许多路由。到目前为止,我的主要问题是,我预计会有很多服务器端api调用使用各自的(安全的)密钥。电话会是Javascript 使用Meteor.js+;React.js,javascript,node.js,meteor,reactjs,Javascript,Node.js,Meteor,Reactjs,我的问题是如何在服务器端正确设置与客户端上的react.js连接的路由 我正在开发一个基于它的应用程序,我正在与它集成。应用程序将需要许多路由。到目前为止,我的主要问题是,我预计会有很多服务器端api调用使用各自的(安全的)密钥。电话会是 Meteor.http.call("GET", "http://search.twitter.com/search.json?q=perkytweets"); 显然,出于安全原因,这些应该是服务器端的。然后,我将在服务器上处理数据,并传递我需要的信息以作出反
Meteor.http.call("GET", "http://search.twitter.com/search.json?q=perkytweets");
显然,出于安全原因,这些应该是服务器端的。然后,我将在服务器上处理数据,并传递我需要的信息以作出反应,然后在DOM上呈现
这似乎并不理想,尽管它似乎是Meteor+React
应用程序的首选,因为它关注的是客户端路由,而不是我需要的服务器端路由
通常情况下,Meteor.js应用程序是用构建的,但是我在让React
与Iron Router
一起工作时遇到了一些困难
请注意:下面的代码似乎并不表示需要任何服务器端的东西,这是因为我刚刚通过教程设置了所有内容,但它最终会……现在只是尝试让路由正常工作
我一直在做以下工作:
下面的反应代码: client/main.html
<head>
<title>List</title>
</head>
<body>
<div id="render-target"></div>
</body>
<tempate name="homePage">
<head>
<title>List</title>
</head>
<body>
<div id="render-target"></div>
</body>
</template>
client/main.html
<head>
<title>List</title>
</head>
<body>
<div id="render-target"></div>
</body>
<tempate name="homePage">
<head>
<title>List</title>
</head>
<body>
<div id="render-target"></div>
</body>
</template>
列表
这是结果(Iron Router消息表示路由没有与react一起实现)此处无需使用服务器端路由,只需创建一个服务器端Meteor方法来执行API调用,并显示其结果 此示例组件在装入时调用方法,并异步处理其返回值
export class Pony extends React.Component {
// ...
componentDidMount() {
Meteor.call("call-pony-name-api", customPonyParameter, (error, result) => {
if (error) {...}
this.setState({ponyName: result.ponyName});
});
}
}
服务器端API调用是什么意思?(Meteor方法?订阅?REST呼叫?)我很难理解你的问题,也许是因为你的帖子没有包含问题:公平点:我的问题是如何在服务器端正确设置与客户机上的react.js连接的路由。调用类似于:Meteor.http.call(“GET”,”);我仍然不太明白。服务器端路由是什么意思?是否要实现服务器端React呈现?如果是,那么可能会对您有所帮助。继续回答这个问题()和这个页面(),我想知道如何构建一个react/meteor应用程序,它可以执行大量服务器端api调用,但只发送特定数据(可以安全公开的数据)用于/呈现客户端。不需要服务器端路由来实现这一点。只需创建一个Meteor方法,在服务器上执行API调用,处理回复,然后只向客户端发送呈现页面所需的数据。
<tempate name="homePage">
<head>
<title>List</title>
</head>
<body>
<div id="render-target"></div>
</body>
</template>
export class Pony extends React.Component {
// ...
componentDidMount() {
Meteor.call("call-pony-name-api", customPonyParameter, (error, result) => {
if (error) {...}
this.setState({ponyName: result.ponyName});
});
}
}