如何使用分派(react-redux)到类组件中

Mau*_*oya 7 javascript reactjs redux react-redux

我的代码

class LoginPage extends Component {

  render() {
    return (
        <div>
          <TextInput/>
          <br/>
          <TextInput/>
          <br/>
          <Button onClick={() => {
            const dispatcher = useDispatch();
            dispatcher(singIn())
          }}>SING IN</Button>
        </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我想我在类组件中使用了一个钩子,但是我可以用什么来代替useDispacth我的 LoginPage?

gdh*_*gdh 9

对于类组件,您需要使用connect方法 from react-redux。使用连接方法和传递mapDispatchToProps函数,如下所示。

import { connect } from 'react-redux';
class LoginPage extends Component {

    render() {
        return (
            <div>
                <TextInput/>
                <br/>
                <TextInput/>
                <br/>
                <Button onClick={() => {
                    this.props.singIn()
                }}>SING IN</Button>
            </div>
        );
    }
}



const mapDispatchToProps = (dispatch) => {
    return {
        signIn: () => dispatch(signIn())
    }
};
export default connect(null, mapDispatchToProps)(LoginPage)
Run Code Online (Sandbox Code Playgroud)

Read thru the doc for more info. https://react-redux.js.org/api/connect