javascript - 将 POST react 到 Node 服务器并处理 JSON 响应

标签 javascript node.js reactjs express react-router

我是 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/

相关文章:

javascript - 无法导入 react js组件

javascript - 将多个 Prop 传递给一个组件

reactjs - 如何在 React Native android 上使包裹相机的 TouchableOpacity 可点击?

javascript - 使用不是背景的图像创建类似视差的效果

javascript - Node.js:提交时如何读取用户选择并在文本区域中提供文件内容

javascript - 如果我没有点击元素,如何停止检测鼠标离开

node.js - Docker和npm-gyp ERR!不好

node.js - 如何在不复制的情况下将 Int32Array 转换为 Uint8Array

javascript - errorThrown jquery 错误回调函数

javascript - 在一种条件下定位多个表单元素