标签: react-server

MJML - 模板插值,动态数据,上下文

经过大量搜索后,我很难找到:

  1. MJML处理动态数据和模板插值

我期待的是:

import { mjml2html } from 'mjml';

const context = {
  message: 'Hello World'
};

const view = mjml2html(template, context);
Run Code Online (Sandbox Code Playgroud)
<mjml>
  <mj-body>
    <mj-container>
      <mj-section>
        <mj-column>
          <mj-text>{message}</mj-text>
        </mj-column>
      </mj-section>
    </mj-container>
  </mj-body>
</mjml>
Run Code Online (Sandbox Code Playgroud)

node.js reactjs server-side-rendering react-server mjml

8
推荐指数
1
解决办法
3062
查看次数

将csurf与react-server一起使用

我想在响应服务器内添加csurf作为通用应用程序的快速中间件.

我想要实现的是将csrf标记添加到react组件中的表单中的隐藏输入,以维护服务器呈现的网站提供的相同csrf保护流,但是在SPA中.

这在技术上是否可以在react-server中使用?如果是这样,我如何通过页面(理想情况下)将响应对象中可用的csrf标记传递给react组件?

javascript csrf node.js reactjs react-server

6
推荐指数
1
解决办法
1365
查看次数

如何从另一个传奇中调用传奇?

当使用 redux-connect(@asynConnect 属性)时,如何链接第二个 saga,这取决于第一个 saga 的成功完成?

只是简单地putting在第一个 saga 中适当位置的 saga 调度操作在客户端上工作,而不是在服务器上。

redux-saga react-server

6
推荐指数
1
解决办法
5777
查看次数

需要 SVG 导致 react-server 错误:“React 未定义”

在使用generator-react-server加载 SVG 文件生成的 react-server 项目中,如 follow 会触发反应错误。

const fmc = require('../images/logo.svg');
Run Code Online (Sandbox Code Playgroud)

给出错误

Failed to load page at "../pages/home.js" ReferenceError: React is not defined
at Object.<anonymous> (/Users/me/Projects/myProject/dev/images/logo.svg:1:1)
at Module._compile (module.js:541:32)
at loader (/Users/svasseur/Projects/delateurs/dev/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/svasseur/Projects/delateurs/dev/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/me/Projects/myProject/dev/components/footer.js:5:13)
Run Code Online (Sandbox Code Playgroud)

我试图像我在以前的项目中那样为 SVG 加载器指定 webpack 文件加载器,但它不起作用。这是我在.reactserverrc中定位的webpack.conf.js文件作为"webpack-config": "./webpack.config.js"

export default (webpackConfig) => {
  webpackConfig.module.loaders.splice(0, 0,
    { test: /\.woff(2)?(\?v=\d+\.\d+\.\d+)?$/, loader: …
Run Code Online (Sandbox Code Playgroud)

svg reactjs webpack react-server

5
推荐指数
0
解决办法
1147
查看次数

如何设置react-dom/server renderToString传递给graphql server的头文件?

我有一个Web服务器,它通过X-Forwarded-For头部从负载均衡器接收客户端的IP ,但不会将其转发到GraphQL服务器,从而使调试更加困难.

可以打开它,还是需要补丁来响应/服务器?当服务器端呈现器触发graphql服务器请求日志时,其他人如何解决收集上下文数据的问题?

reactjs graphql react-server ssr

5
推荐指数
1
解决办法
185
查看次数

服务器呈现泄露用户的Redux存储数据的React ExpressJS前端

我有一个ExpressJS服务器,有时在初始渲染时呈现错误的用户数据.请参阅下面的(稍微简化)版本.

问题是该index.ejs文件经常在reduxState...中呈现错误的用户数据

我的困惑是因为我希望调用import { store } from 'routes.js'覆盖商店,就像{}每个用户的请求一样.问题似乎是,它store正在成为网站上每个用户组合在一起的组合商店.

如何确保每个用户只能看到他们在网站上的数据?

routes.js

// src/routes.js
import React from 'react';
import { createStore, applyMiddleware, compose } from "redux";
import routerConfig from "base/routes/routes";
import thunk from "redux-thunk";
import { rootReducer } from "base/reducers";

let initialState = {};

const store = createStore(
  rootReducer, initialState, compose(applyMiddleware(thunk))
);

const routes = routerConfig(store);

export {store};
export default routes;
Run Code Online (Sandbox Code Playgroud)

server.js

import { store } from 'routes';

let getReduxPromise = (renderProps, …
Run Code Online (Sandbox Code Playgroud)

express reactjs redux server-rendering react-server

5
推荐指数
1
解决办法
92
查看次数

ReactDOMServer.renderToString不是函数

我在服务器上渲染react组件,当转到路由获取错误消息:

在此输入图像描述

  const renderToString = ReactDOMServer.renderToString
  const fac = React.createFactory(React.createClass({
    render: function() { 
      return (
        <Provider store={store}>
          <StaticRouter location={location} context={routeContext}>
            <App />
          </StaticRouter>
        </Provider>
      )
  }}))

  const appHtml = renderToString(fac())
Run Code Online (Sandbox Code Playgroud)

javascript node.js reactjs react-server

3
推荐指数
1
解决办法
5615
查看次数