【发布时间】:2019-02-20 22:42:50
【问题描述】:
我正在使用 React Navigation 进行路由。当用户打开 Stock Item 进行修改时,我想添加一个 Save 按钮,该按钮从 redux state 获取所有修改后的变量,并 将它们查询到API 端点
目前我只能像这样以非常静态的方式添加保存按钮:
const Stack = createStackNavigator(
{
Home: {
screen: Tabs,
navigationOptions: {
header: null,
},
},
StockScreen: {
screen: StockScreen,
navigationOptions: {
headerRight: (
<Button
onPress={() => {
alert('This is a button!');
}}
title="Save"
color="#fff"
/>
),
},
},
},
{
}
);
我有我的标签导航器:
let StockTabs = createMaterialTopTabNavigator(
{
General: {
screen: GeneralStockTab,
},
Pricing:{
screen: PricingTab,
},
Stock:{
screen: StockTab
},
Other:{
screen: OtherTab,
},
},
{
}
);
现在这个选项卡式导航像这样连接到redux:
const mapStateToProps = state => ({
item: state.stockItem.item,
itemLoading: state.stockItem.loading,
itemError: state.stockItem.error,
});
const mapDispatchToProps = (dispatch) => {
return ({
fetchStockItem: bindActionCreators(fetchStockItem, dispatch)
})
}
const mergeProps = (state, dispatch, ownProps) => {
return ({
...ownProps,
screenProps: {
...ownProps.screenProps,
...state,
...dispatch,
}
})
}
export default connect(mapStateToProps, mapDispatchToProps, mergeProps)(StockTabs);
我希望能够有一个 动态布尔 来允许按下 保存按钮,这取决于是否修改了值以及按下保存的时间我想运行 redux 函数 来更新 state 和query api。
【问题讨论】:
标签: reactjs react-native redux react-redux react-navigation