Closed gustavo-silveira closed 5 years ago
@gustavo-silveira, esse this.state[item].variavel
é uma função? por que a estrutura pra onChange é a onChange={()=> {})
Esse 'this.state[item].variavel' do objeto
const map = {
dateOne: {
stateKey: 'date',
variavel: date,
handler: this.onCalendarOne,
},
dateTwo: {
stateKey: 'date2',
variavel: date,
handler: this.onCalendarTwo,
}
};
A estrutura onChange está assim
onChange={this.state[item.variavel]=> { this.setState({ date: date }); }}
@gustavo-silveira qual é a intenção desse código? ai fica mais fácil de te guiar
A intenção é mudar a variavel "date" que está no onchange de acordo com a variavel "variavel" do objeto "map". No objeto "map" a variável "variavel" estão iguais, mas seria date1 e date 2. O correto é mudar a variavel de acordo com o a chamada, "dateOne" ou "dateTwo"
Como posso fazer essa mudança de variavel ?
const map = {
dateOne: {
stateKey: 'date',
variavel: date,
handler: this.onCalendarOne,
},
dateTwo: {
stateKey: 'date2',
variavel: date,
handler: this.onCalendarTwo,
}
};
// item pode ser "dateOne" ou "dateTwo"
function onChange(item) {
const newState = {
date: item.variavel
};
this.setState(newState);
}
//< Button onClick={()=> onChange(map.dateOne)} />
//< Button onClick={()=> onChange(map.dateTwo)} />
@gustavo-silveira Isso que está tentando fazer?
@gustavo-silveira resolveu a issue?
Senhores, estou com esse problema, como posso resolver ? Estou querendo trocar a variavel de acordo com o meu objeto
` Line 405: Parsing error: Unexpected token, expected "}"
403 | id='calendarIdaVolta' 404 | name='calendarIdaVolta'
Objeto
const map = { dateOne: { stateKey: 'date', variavel: date, handler: this.onCalendarOne, }, dateTwo: { stateKey: 'date2', variavel: date, handler: this.onCalendarTwo, } }; const item = map[name];
Obrigado