如何将ReactJS上的参数传递给setState

时间:2020-04-06 20:46:54

标签: javascript reactjs

我有一个调用ReactJS应用程序的函数:

Charts.createNpsGraficoRespostas(nps_respostas_vida, chart_nps_vida , self)

这是函数的代码:

export function createNpsGraficoRespostas(array_nps_respostas, state_parameter, self){
...
self.setState({ state_parameter : chart_nps })
...
}

您是否看到参数“ state_parameter”,我想将值“ chart_nps_vida”作为参数传递给setState函数,但这无法正常工作。

这就是我想要的,但是我想使用参数而不是直接使用“ chart_nps_vida”。

    self.setState({ chart_nps_vida: chart_nps })

我如何使它起作用?

2 个答案:

答案 0 :(得分:1)

假设state_parameter是一个字符串,这应该可以工作。

  export function createNpsGraficoRespostas(array_nps_respostas, state_parameter, self){
    ...
    self.setState({ [state_parameter] : chart_nps })
    ...
    }

答案 1 :(得分:-1)

您要使用变量参数名称作为对象字段名称。无法做到这一点。最好的解决方案是这样:

Charts.createNpsGraficoRespostas(nps_respostas_vida, {chart_nps_vida: chart_nps_vida} , self)

export function createNpsGraficoRespostas(array_nps_respostas, state_parameter, self){
    ...
    self.setState(state_parameter)
    ...
}