I have this code
import React from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import 'materialize-css/sass/materialize.scss';
import 'font-awesome/scss/font-awesome.scss';
import Storage from './Storage.js'
import {fetchStorage, loadAddStorageModal, selectStorage} from '../actions/StorageActions.js'
class SideNavContainer extends React.Component {
componentWillMount() {
this.props.fetchStorage();
}
render() {
console.log(this.props);
return (
<ul id="slide-out" className="side-nav fixed">
{
var hold = this.props;
this.props.storages.fetchedStorages.map(function (storage, i) {
return <Storage key={i} >{storage.name}</Storage>
})
}
<li>
<a className="waves-effect waves-light" onClick={() => this.props.loadAddStorageModal(true)}><i className="fa fa-plus" aria-hidden="true">Add</i></a>
</li>
<li className="hide-on-large-only"><a href="/Home/Index">Home</a></li>
<li className="hide-on-large-only"><a href="/Account/SignOut">Signout</a></li>
</ul>
)
}
}
function mapStateToProps(state) {
return {
storages: state.storages
};
}
function matchDispatchToProps(dispatch){
return bindActionCreators({fetchStorage: fetchStorage, loadAddStorageModal: loadAddStorageModal, selectStorage: selectStorage }, dispatch);
}
export default connect(mapStateToProps, matchDispatchToProps)(SideNavContainer);
I am trying to pass "this.props" into my Storage Component. I tried to do
return <Storage {...this.props} key={i} >{storage.name}</Storage>
but I believe scope has changed so that does not work anymore. I tried to put it in a variable called "hold" but that just crashes the entire application as it says "var" is an Unexpected token.
var hold = ...to before thereturnstatement.