Я хочу поместить переменную в мой оператор this.props, т. Е. this.props.false+variable+("value")
, у меня есть условный оператор, в котором, если элементы в массиве не равны переменной, он должен установить состояние в значение false на основе моего избыточного кода. действие, если я использую методы нормального состояния, я сделаю это this.setState({[set[value]]: false});
, но теперь я использую действие, которое я определил в моем actions\index
, но я не знаю, как добавить set[value]
в this.props, например, если Messages выполняет условие, this.props.falseMessages("messages")
будет работать, но я не знаю, как я добавлю set [value] в этот .props, пожалуйста, любые советы будут полезны.
import { connect } from "react-redux";
import { trueBrowse,trueCart, trueHome, trueMessages, trueServices,falseBrowse,
falseCart, falseHome,falseMessages, falseServices} from "../actions/index";
const mapStateToProps = state => {
return { home: state.home, browse: state.browse,cart: state.cart, messages: state.messages };
};
const mapDispatchToProps = dispatch => {
return {
trueBrowse: browse => dispatch(trueBrowse(browse)),
trueServices: services => dispatch(trueServices(services)),
trueHome: home => dispatch(trueHome(home)),
trueMessages: messages => dispatch(trueMessages(messages)),
trueCart: cart => dispatch(trueCart(cart)),
falseServices: services => dispatch(falseServices(services)),
falseMessages: messages => dispatch(falseMessages(messages)),
falseHome: home => dispatch(falseHome(home)),
falseCart: cart => dispatch(falseCart(cart)),
falseBrowse: browse => dispatch(falseBrowse(browse))
};
};
//The condition
navig(setter){
let set = ["Home","Messages" ,"Browse","Cart",];
let page = set.indexOf(setter);
console.log(page+1);
for( let value in set){
if(set[value] != setter){
// this.setState({[set[value]]: false});
this.props.false+[set[value]]+(set[value].toLowerCase())
}
}
this.setState({[setter]: true});
this.viewPager.setPage(page);
}