我正在使用redux我的react-native移动应用程序.
与后端的通信是通过websockets使用socket.io.
我以一种方式组织项目,我有一个文件(你可以称之为对象),初始化套接字客户端.
处理程序已注册到它,我想向其发送操作reducers.
socket.js:
export function createSocket (url) {
console.log(`connecting to ${url}`)
// dispatch(actions.CONNECT)
return io(url)
}
Run Code Online (Sandbox Code Playgroud)
如何dispatch从这些功能之外采取行动react component呢?
在我的observable源中,我收到了我想过滤某个异步操作的事件。
例如:
s$.pipe(
map((x) => x + 1),
filter((x) => alreadyExist(x)))
.subscribe(...)
Run Code Online (Sandbox Code Playgroud)
WhenalreadyExist是一个异步操作,
(检查值是否存在于持久存储中)返回一个布尔值。
假设alreadyExist返回一个解析为布尔值的承诺,
我如何才能wait返回?
请注意,我需要不更改该值。
这样async-await做不起作用,并且在过滤器返回之前执行了订阅。
我正在使用React和Redux在我的网络应用程序中。
在登录页面中,我有多个字段(输入)。
登录页面由多个组件组成,用于传递道具。
我想知道我应该如何传递道具和更新动作。
例如,假设我的登录页面中有 5 个输入。
LoginPage (container) -> AuthenticationForm (Component) -> SignupForm (Component)
在LoginPage我将状态和调度映射到道具中,
我在这里看到 2 个选项:
mapStateToProps = (state) => ({
input1: state.input1,
...
input5: state.input5
})
mapDispatchToProps = (dispatch) => ({
changeInput1: (ev) => dispatch(updateInput1(ev.target.value))
...
changeInput5: (ev) => dispatch(updateInput5(ev.target.value))
})
Run Code Online (Sandbox Code Playgroud)
在这个解决方案中,我需要沿着路径传递很多道具(调度动作和状态数据)。
另一种方法是这样的:
mapStateToProps = (state) => ({
values: {input1: state.input1, ..., input5: state.input5}
})
mapDispatchToProps = (dispatch) => ({
update: (name) => (ev) => dispatch(update(name, ev.target.value))
})
Run Code Online (Sandbox Code Playgroud)
在这个解决方案中,我必须跟踪并发送我想要更新的输入名称。
我应该如何解决这个问题? …
用sequelize我的nodejsweb应用程序,我想查询使用分页(按日期)的职位.阅读sequelize文档,他们提供使用offset和limit.
由于我想显示从新到旧的帖子,我需要考虑它们的创建日期.例如,如果我将第一个查询限制为10个页面,并且在执行第二个查询之前创建了一个新帖子,则下一个偏移量为10的查询将导致上一个查询的重复发布.
我应该如何实现分页以便支持新条目?
react我正在编写一个使用路由的客户端渲染 Web 应用程序react-router。input我已经实现了 a inside a formwith的搜索react-bootstrap。
executeSearch(){
...
window.location.href = '/#/search/' + formattedURL
}
let formSettings = {
onSubmit:this.executeSearch.bind(this),
id:"xnavbar-form"
}
const searchButton =
<Button
onClick={this.executeSearch.bind(this)}>
<Glyphicon glyph="search" />
</Button>
const searchInput =
<form>
<Input
type="text"
ref="searchInput"
buttonAfter={searchButton}
placeholder="search"/>
</form>
... Jumping to the render function
<Navbar.Form
{...formSettings}>
{searchInput}
</Navbar.Form>
Run Code Online (Sandbox Code Playgroud)
Mozilla Firefox按预期执行搜索:按 Enter 键并单击将searchButton我路由到客户端呈现的页面.../#/search/...。
执行搜索的Google Chrome行为如下:单击searchButton上面的工作(客户端渲染),但按 Enter 键会导致服务器重定向.../?#/search...。
我发现这是由表单的submit …
javascript ×4
reactjs ×3
redux ×2
forms ×1
html ×1
node.js ×1
pagination ×1
react-native ×1
react-router ×1
rxjs ×1
sequelize.js ×1