Route 内に配置されたコンポーネントを redux ストアに接続しようとしていますが、成功しません。プログラムを実行すると、次のようなエラーがスローされます: TypeError: props.setIsLoggedIn is not a function
Route 外のコンポーネント (MenuBar など) へのストアの接続は問題なく動作します。
ルートを含むファイルの重要な部分:
<ThemeProvider theme={Theme}>
<Provider store = {store}>
<Router>
<div className = {classes.pageLayout}>
<TopBar />
<MenuBar />
<Switch>
<Route exact path ="/"
component={<Home/>}/>
<Route exact path ="/home"
component={<Home/>}/>
<Route exact path ="/login"
component= {<LoginPage/>}/>
</Switch>
</div>
</Router>
</Provider>
</ThemeProvider>
LoginPage ファイルの重要な部分:
import { connect } from "react-redux";
const setIsLoggedIn = isLoggedIn => ({
type: "SET_IS_LOGGED_IN",
isLoggedIn: isLoggedIn
});
const LoginForm = (props) => {
props.setIsLoggedIn(true);
return (<div>Contains some components.</div>);
}
const mapDispatchToProps = {
setIsLoggedIn
};
export default connect(null, mapDispatchToProps)(LoginPage);