Задание имени переменной в this.props - PullRequest
0 голосов
/ 28 августа 2018

Я хочу поместить переменную в мой оператор 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...