小编And*_*rew的帖子

通用Auth Redux和React路由器

我在使用redux和路由器进行身份验证方面遇到了一些麻烦,我希望能够对如何最好地解决我的问题做一些澄清.

我有一个登录组件,在提交时调度以下操作:

export const loginUser = (creds) => {
  return dispatch => {

    dispatch(requestLogin(creds))

    return fetch('http://127.0.0.1:4000/api/login', {
      ...
    })
      .then(res => {
        dispatch(receiveLogin())
        browserHistory.push('/admin')
        ...
      })
      ...
  }
}
Run Code Online (Sandbox Code Playgroud)

receiveLogin操作将状态中的isAuthenticated标志更新为true.我的受保护路由具有以下onEnter挂钩:

export default (state) => {
  return {
    path: '/',
    component: App,
    childRoutes: [
      {
        path: 'protected',
        component: Protected,
        ...
        onEnter(nextState, replaceState) {
          const loggedIn = //check state.isAuthenticated
          if (!loggedIn) {
            replaceState(null, 'login')
          }
        }
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我将国家作为一个论点.这使我可以从服务器以及客户端访问初始状态.但是,在我的登录操作发生后,显然onEnter挂钩仍将使用初始状态.

我想知道的是更新isAuthenticated标志后获取当前状态的最佳方法,并在我的onEnter挂钩中使用它.或者,我的方法是完全有缺陷的,我应该完全采用不同的方式吗?

reactjs react-router redux

13
推荐指数
1
解决办法
7388
查看次数

Three.js中的渐进式加载/ LOD /流式网格

我正在使用STL加载器将stl文件加载到three.js场景中.这些stl文件的范围从5mb到50mb.

是否有一种方法可以用来逐步加载/流式传输/增加细节级别(不确定正确的术语),因为模型加载,以便我的用户在出现任何内容之前几分钟都没有盯着空白屏幕?

如果模型是20,000个三角形,那么three.js是否有一个方法可能首先只加载2,000个然后再进入完全详细的模型?

javascript three.js

7
推荐指数
1
解决办法
3314
查看次数

Cookie未使用Fetch存储

我已经阅读了我可以找到的所有其他主题,但没有一个解决方案有效.我使用React + Redux + Express并尝试按照以下方式将JWT存储在cookie中:

https://auth0.com/blog/2015/09/28/5-steps-to-add-modern-authentication-to-legacy-apps-using-jwts/

在我的Redux操作中,我发送以下请求:

export function getCookie(token) {
  const config = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ' + token
    },
    body: JSON.stringify({ token })
  };
  return fetch('http://127.0.0.1:4000/authorize-cookie', config)
   .then((res) => {
     return res.json();
   })
   .then((resJson) => {
     return resJson;
   })
   .catch(err => console.log('Error: ', err));
}
Run Code Online (Sandbox Code Playgroud)

在服务器上,我正在回复...

app.post('/authorize-cookie', authenticate, (req, res) => {
  res.cookie('id_token', req.body.token, {
    maxAge: 360000
  });
  res.status(200).send({ message: 'Cookie set!' });
});
Run Code Online (Sandbox Code Playgroud)

... authenticate是一个验证令牌的函数.

我的响应标题似乎一切都很好:

HTTP/1.1 200 OK
Set-Cookie: id_token=xxx.xxx.xxx; …
Run Code Online (Sandbox Code Playgroud)

cookies fetch express jwt redux

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

WebGL / Three.js中的软件?

有什么方法可以将软件物理与WebGL或threejs集成在一起?我可以以某种方式集成例如PhysX引擎吗?

我需要在3d软体内移动3d刚体并使软体变形以响应。理想地,该软体将具有与粘土相似的塑性。

我正在努力实现的目标是否可能?

任何建议或指示将不胜感激。

javascript physics webgl three.js softbody

3
推荐指数
2
解决办法
1786
查看次数