我是 React 的新手,所以我想了解所有这些是如何协同工作的。
有没有办法在从 Node 服务器获取状态 200 后更改正在为另一个组件呈现的组件?
例如。我正在使用快速服务器从注册页面向我的 Node 发送 POST http 请求。服务器向我的前端响应一个 json 对象。现在我希望呈现配置文件组件/页面而不是停留在注册页面。这允许我使用 Json 数据并将其呈现在个人资料页面上。这可能吗?如果您有其他选择,我也欢迎您提出建议。
谢谢大家
注意: 我正在使用 react 路由器来控制不同的路线。 我的 Node 服务器设置了护照来处理注册。
最佳答案
您基本上需要管理应用程序的状态(用户已连接/未连接)。然后您可以将您的页面包装在一个组件中,该组件管理用户是否已连接的事实。
假设如果登录成功,您将 user_is_logged 设置为 true。你可以这样做:
var PageWrapper = React.createClass({
render : function() {
// user_is_logged is true if user is correctly logged
// LoginPage is the authentication form
var pageContent = user_is_logged ? this.props.children : <LoginPage />;
return (
<div>
<Menu />
<div className="container">
{pageContent}
</div>
</div>
);
},
});
var MyPage = React.createClass({
render : function() {
return (
<PageWrapper>
<div>content of page...</div>
</PageWrapper>
);
},
});
并在 ajax 回调中重新呈现页面:
ReactDOM.render (<MyPage />, document.getElementById('my-app'));
它也适用于 React 路由器。
关于javascript - 将 POST react 到 Node 服务器并处理 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41304178/