在React Native中,使用react-redux来连接组件和Redux store,可以通过mapDispatchToProps将action creators绑定到组件的props上。然而,有时候在按钮点击时,mapDispatchToProps可能未生效。以下是解决此问题的步骤和示例代码:
connect
函数和所需的action creators和组件。import { connect } from 'react-redux';
import { someAction } from '../actions';
import React, { Component } from 'react';
import { Button } from 'react-native';
mapDispatchToProps
的函数,该函数将接收dispatch
作为参数,并返回一个对象,对象的属性是action creators。const mapDispatchToProps = (dispatch) => {
return {
someAction: () => dispatch(someAction())
};
}
mapDispatchToProps
作为第二个参数传递给connect
函数。export default connect(null, mapDispatchToProps)(YourComponent);
class YourComponent extends Component {
render() {
return (
);
}
}
确保按照以上步骤进行操作,以确保mapDispatchToProps
在按钮点击时生效。如果仍然未生效,可以尝试以下解决方法:
Provider
组件。