问题标签 [react-boilerplate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
599 浏览

react-redux - 反应样板保存本地状态

使用https://github.com/react-boilerplate/react-boilerplate v3.4.0 我希望在用户单击刷新按钮时保持状态元素。
我做了什么:在 app.js 我改变了 const initialState = {}; const store = configureStore(initialState, browserHistory);

至:

其中persist.js 用于持久化state.global:

在 store 返回之前的默认 store.js 中,我添加了:

显然,这可以通过稍后的节流来改善。

所以发生的事情是在我验证状态后正确地保存到本地存储,并且正确地从本地存储重新加载。

当我在身份验证后刷新页面时,我开始跟踪 store.js:

在 createStore 运行之前,initialstate 是: 在此处输入图像描述

运行后:

store.getState() 返回:

在此处输入图像描述

所以它所做的是从减速器的初始状态中获取值。我不明白为什么会发生这种情况,正如 redux 文档所述:

您可以选择将初始状态指定为 createStore() 的第二个参数。这对于使客户端的状态与服务器上运行的 Redux 应用程序的状态相匹配非常有用。

所以我的问题是,如何在屏幕刷新后保持状态,为什么初始状态会被减速器覆盖?

0 投票
1 回答
403 浏览

javascript - 反应样板:在传奇中没有减少调度的动作

使用react-boilerplate我有一个将数据正确保存到服务器的传奇。我想为延迟保存警告发出警告(在完全超时之前)。为了模拟这一点,我在服务器上等待 5 秒,在警告开始前等待 1 秒。

我已经尝试了许多选项,但问题的症结在于操作:在超时函数期间调度的autoSaveTimeOutAction在减速器函数中没有被减少。

我的问题是为什么会发生这种情况?我怎样才能让它工作?

这是我的输出:

和代码摘录:

0 投票
0 回答
408 浏览

reactjs - HMR 不会重新加载 /src 之外的更改

我有一个共享文件夹,其中存储了可重用的 React 组件。我想让 Hot Reload 与该目录一起工作,但它不起作用。这是我的文件夹结构:

当文件夹中的某些内容发生变化时,Webpack HotModuleReplacement 插件不会以某种方式触发重新加载/shared?webpack.config 中的条目如下所示:

应用程序中的热门:

该应用程序使用react-boilerplate.

0 投票
2 回答
4534 浏览

reselect - 重新选择 CreateStructuredSelector 的属性差异

也许这不一定是重选题

在重新选择中我们使用

为什么我们不能像下面这样使用?

并在重新选择中使用如下

我的代码是否有任何问题/缺点,或者这是一种标准做法?

0 投票
1 回答
152 浏览

react-boilerplate - React Boilerplate 无法使用“npm run start”运行

在重新检查react-boilerplate并运行之后

它停止并显示类似以下的错误消息:

0 投票
1 回答
328 浏览

javascript - 为什么 React-boilerplate selector.js 导出调用 createSelector 的方法而不是直接导出选择器?

我正在使用react-boilerplate,它又使用reselect。我注意到他们对重新选择的使用与记录重新选择的方式有点不同。事实上,如果不是因为我很确定框架的开发人员知道他们比我做得更好并且他们的方法是有原因的,我会认为它会破坏重新选择的优势。我试图更好地理解这个原因,所以我知道如何继续向样板添加选择器。我的困惑是 react-boilerplate 的导出方法调用 createSelector,而不是导出已经创建的选择器。

Reselect 的文档有一个选择器文件,它导出已经创建的选择器,然后他们直接在 mapStateToProps 中调用这些选择器。所以是这样的:

选择器.js:

在组件中:

但是,react-boilerplate 的选择器会导出调用 createSelector 的方法,而不是直接导出创建的选择器。所以是这样的:

选择器.js:

在组件中:

调用这些虚拟方法来创建选择器的动机是什么?我会认为 react-boilerplates 方法意味着如果我在不同的组件中重用一个选择器,那么每个组件都会有一个不同的选择器实例;这反过来意味着每个组件都必须在状态改变时计算选择器的结果,而不是只完成一次,最终导致冗余计算。

正如我所说,我怀疑我遗漏了一些东西,因为我怀疑广泛使用的框架根本无法正确使用重新选择。有人可以向我解释一下好处,为什么/如果我应该保持 react-boilerplate 的方法而不是按照重新选择文档显示的方式来做?

0 投票
0 回答
331 浏览

webpack - 打包后静态文件的路径

大家好,我对这个https://github.com/electron-userland/electron-packager电子打包器有疑问,因为我正确理解了我编译到 asar 存档的所有内容,以及我的第二件事packager 使用 webpack 的生产构建来制作 .dmg 文件(我正在使用这个样板https://github.com/chentsulin/electron-react-boilerplate)。问题是:我有一个带有虚拟数据的简单 JSON 文件,但打包后我不知道我应该使用什么路径到这个文件。我尝试使用 npm 模块解压缩 asar 存档并查看里面发生了什么,但我没有看到任何东西,在我尝试使用 extraResources 但它根本没有帮助我,因为编译后我没有'看不到存档中的文件。我无法理解我错过了什么。图像效果很好,我不需要改变它们的路径。

0 投票
0 回答
657 浏览

reactjs - 确保在调度操作之前注入 saga

我在我的应用程序中使用 saga 注入时遇到了一些糟糕的时间,有时 saga 在动作被调度之前加载并且一切正常,有时动作被触发并且没有触发 saga 效果。我正在使用非常标准的代码,这是我的路线:

这是我的传奇(我删除了getCurrentHostgetHostRegistrations但当然它们是在同一个文件中定义的):

这是我的组件的相关部分:

基本上我所做的是在 componentDidMount 上调度一个动作,并在成功调度第二个动作时,两者都在同一个 saga 中定义。我看到的是用同样的代码,只是刷新页面,有时控制台日志会显示

但在 上没有调用任何效果getHostRegistrations。其他时候,一切正常,我在日志中看到:

如您所见,在第二种情况下,观察程序在组件安装之前执行并且流程正确。所以我的问题是:有没有办法确保在安装组件之前注入 saga?或任何其他解决方法?

如果您想查看实际代码,只需在此处注册https://www.amavido.it/join(使用随机电子邮件/姓名而不是 facebook);登录后,刷新,有时会看到渲染组件,有时会看到永远挂起的加载指示器)

0 投票
0 回答
186 浏览

node.js - 实现反应服务器端渲染和响应组件

我正在使用 react-responsive-redux,其中媒体查询的整个实现是基于名为fakeWidth的状态变量完成的。为了让它根据文档工作,我们需要在 request handler 期间调度一个 redux 操作。在我的项目中,我在serverEntry.js文件中执行此操作,尽管模块的内置帮助器组件不起作用,因为在我的项目中我使用的是 immutableJs。

所以现在我使用selectors.js来获取状态中存在的 fakeWidth。

很好用,但媒体查询组件(即移动设备)中的组件不会出现在应用程序的第一次渲染中。我无法弄清楚为什么会发生这种情况以及我应该怎么做才能防止这种情况发生。

移动设备现在在 MediaQuery 组件中

0 投票
1 回答
1461 浏览

javascript - 身份验证反应后重定向到其他页面

我正在使用 react-boilerplate 构建反应应用程序。我使用 react-boilerplate 生成器功能创建了身份验证容器,并将其与这个公共 api结合起来。我们通过电子邮件和密码后,它将返回令牌。

将令牌设置为浏览器 localStorage 后如何重定向到其他组件/页面?

感谢您的时间。

传奇.js

index.js

动作.js