javascript - 如何从 redux 商店传递道具
问题描述
我有一个使用 redux 和 react-router 的简单应用程序。我将我的应用程序组件包装在提供程序标签中,以便它可以访问商店。我在 App.js 中连接了(在 App.js 中)mapStateToProps 和 mapStateToDispatch。我不确定如何将我在 App.js 中定义的函数传递给子组件,因为我正在使用路由。我尝试了渲染技巧,但没有奏效。如果我可以将它传递给 CelebrityPage 组件,我将如何在文件中接收它?任何帮助,将不胜感激。
这是我的 App.js
import React, { Component } from 'react';
import { connect } from 'react-redux'
import './App.css';
import Clarifai from 'clarifai'
// import Particles from 'react-particles-js';
// import particlesOptions from './particleOptions'
import { Signin } from './components/signin/Signin';
import Register from './components/register/Register';
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'
import { setSearchField } from './context/Actions'
import FacePage from './Containers/FacePage';
import CelebrityPage from './Containers/CelebrityPage';
import ControllerPage from './Containers/ControllerPage';
const mapStateToProps = state => {
return {
input: state.input
}
}
const mapDispatchToProps = (dispatch) => {
return {
handleSearchChange: (event) => dispatch(setSearchField(event.target.value))
}
}
...
render() {
return (<Router>
<Switch >
<Route path='/celebrity' exact render={props => <CelebrityPage{...props} handleSearchChange={this.handleSearchChange} />} />
<Route path='/' exact component={Register} />
<Route path='/signin' exact component={Signin} />
<Route path='/contoller' exact component={ControllerPage} />
<Route path='/face-detection' exact component={FacePage} />
</Switch>
</Router>)
}
}
export default connect(mapStateToProps, mapDispatchToProps)(App)
解决方案
如果您打算将存储操作和状态传递给子组件,则意味着您拒绝使用 redux 的优势。最好的方法应该是将需要访问操作或状态的任何组件连接到商店。在根组件级别进行连接并将道具传递给子组件并不是一个好的解决方案。
推荐阅读
- pyspark - 如何监控使用 pyspark 启动的任务
- algorithm - 符号状态探索在符号模型检查中的工作原理
- python - 硒和 IE
- javascript - 扩展编程:逻辑和动态行为应该存在于哪里?背景js,content_script,弹出js
- json - Can't Decode With JSONDecoder
- python - NameError: name is not defined. Circular Importing
- python - 在python中统一存入金额
- c# - 如何将 Web 请求保存到文件
- ember.js - Ember: Access name of active child route from parent
- javascript - How to add a picture element in javascript with multiple source tags