【发布时间】:2018-02-28 14:50:07
【问题描述】:
一开始,我想表明我是 JS 和 React 的业余爱好者。我面临一个问题,即使用 React-Router 显示的容器未接收存储。我不知道问题是什么。我用Provider 包装了根组件,我的应用程序一直显示这样的错误:
这是我的Application component的sn-p:
const rootReducer = combineReducers({
adress: require('./StudiosListRedux').reducer
})
const store = createStore(rootReducer)
const App = ({store}) => (
<Provider store={store} >
<BrowserRouter history={history}>
<Switch>
<Route exact path='/' component={WelcomeScreen} />
<Route path='/main' component={StudiosList} />
</Switch>
</BrowserRouter>
</Provider>
)
这是我的WelcomeScreen container:
export class WelcomeScreen extends Component {
state = {
city: '',
street: '',
number: '',
withDrive: false
}
handleCityChange = (text) => {
console.log('city', text)
this.setState({
city: text
})
}
handleStreetChange = (text) => {
console.log('street', text)
this.setState({
street: text
})
}
handleNumberChange = (text) => {
console.log('number', text)
this.setState({
number: text
})
}
handleCheckBoxClick = () => {
console.log('checkbox', 'pushed')
this.setState({
withDrive: !this.state.withDrive
})
}
handleSearchClick = () => {
const { city, street, number, withDrive } = this.state
this.props.fetchStudios('query')
}
render () {
const { city, street, number, withDrive } = this.state
return (
<Container>
<SearchComponent
withDrive={withDrive}
streetValue={street}
cityValue={city}
numberValue={number}
onStreetChange={this.handleStreetChange}
onCityChange={this.handleCityChange}
onNumberChange={this.handleNumberChange}
onCheckBoxClick={this.handleCheckBoxClick}
onSubmitClick={this.handleSearchClick}
/>
</Container>
)
}
}
export const mapStateToProps = state => {
destination: state.adders.toJS()
}
const mapDispatchToProps = {
fetchStudios: StudiosActions.studiosRequest
}
export default connect(mapStateToProps, mapDispatchToProps)(WelcomeScreen)
谁能帮我解决我的问题?我应该怎么做才能为我的容器提供存储?
【问题讨论】:
标签: javascript reactjs redux react-router