我通过触发表单组件中的操作来更新redux状态。更新后的状态将从同一Component中的mapStateToProps读取。现在我的问题是如何将更新的redux状态分配给Component中的现有反应状态。
提前致谢
答案 0 :(得分:1)
您可以使用componentWillReceiveProps
处理程序。
SELECT * FROM
(SELECT PRJSTAT_ID, PRJSTAT_PRJA_ID, PRJSTAT_STATUS, PRJSTAT_DATE,
ROW_NUMBER() OVER (PARTITION BY PRJSTAT_PRJA_ID ORDER BY PRJSTAT_DATE DESC)
AS SEQ,
ROW_NUMBER() OVER (PARTITION BY PRJSTAT_PRJA_ID ORDER BY PRJSTAT_PRJA_ID
DESC) AS IDSEQ
From Project_Status
)PR
WHERE SEQ = 1
AND IDSEQ = 1
答案 1 :(得分:0)
您可以使用Component的setState方法,并使用已更改的属性传递给它。
答案 2 :(得分:0)
如果你真的想这样做,你可能想要componentWillReceiveProps
组件功能,并使用this.setState
实际分配这些值。
但是你必须小心处理两个应用程序状态。理想情况下,组件应该只能接收道具并转换或显示它们。换句话说,我们应该避免让组件处于状态。
答案 3 :(得分:0)
在您设置新状态的地方调用mapStateToProps componentWillRecieveProps之后。
Observable<List<StoreModel>> publish = userStores()
.toObservable()
.publish(userStores ->
Single.zip(
userFavouriteStores(userStores.singleOrError()),
userOtherStores(userStores.singleOrError()),
(favoriteStores, otherStores) -> {
favoriteStores.addAll(otherStores);
return favoriteStores;
}
)
.toObservable()
);
/**
* Created by consultadd on 22/2/17.
*/
import React, { Component } from 'react'
import Head from 'next/head'
import { Router } from '../../../routes'
import { connect } from 'react-redux'
export class EventOrderContainer extends Component {
constructor (props) {
super(props)
this.state = {
orders: [],
orderpage: 0,
ShowCancel: false,
}
}
componentWillRecieveProps(newProps){
this.setState({
orderpage:newProps.ordersPage})
}
render () {
return (
)
}
}
const mapStateToProps = (state) => {
return {
ordersPage:state.orders.ordersPage
}
return state
}
const mapDispatchToProps = (dispatch) => {
}
export default connect(mapStateToProps, mapDispatchToProps)(EventOrderContainer)