如何从Reactjs的子组件中获取多个值?

普拉纳夫

我想在父组件的单一方法中获得两个值。将props值从Child传递到Parent Component。什么是合适的解决方案?

  1. Form.js(子组件)
 // First method -> Here I get the value in suggestion which is then
 // passed to Parent Component via props
  onSuggestionSelected = (event, {suggestion}) => {
    this.props.getWeather(suggestion)
  }

 // Second method -> Here is the value which I want to pass via 
 // props
  onClick = (e) => {
    e.preventDefault()
    const value = e.target.value
    this.props.getWeather(value)
  }

 // Autosuggest Input Component
 // Here I get suggestion value
 <Autosuggest
        onSuggestionSelected={this.onSuggestionSelected}
 /> 

 // Button Component
 // Here I pass the input value to onClick method
 <MDBBtn
        type="submit"
        value={inputProps.value} 
        onClick={e => this.onClick(e)}
  >
    Search Weather
  </MDBBtn>
  1. App.js(父组件)
getWeather = async (suggestion, value) => {
    // Here I get suggestion values
    const city = suggestion.name;
    const country = suggestion.country;

    // Here I get undefined
    console.log('VALUE', value)
}

因此,按照上面的代码,如何从子组件中获取两个值?可能吗?任何建议或变更

包装

有多种处理方法,但是您不能添加两个参数并使用一个参数调用该函数。

如果建议和值的行为方式不同,一种方法可以添加标志

   onSuggestionSelected = (event, {suggestion}) => {
    const isSuggestion = true
    this.props.getWeather(suggestion, isSuggestion)
  }

  onClick = (e) => {
    e.preventDefault()
    const value = e.target.value
    const isSuggestion = false
    this.props.getWeather(value, isSuggestion)
  }

最后很少对App.js进行重构(父组件)

getWeather = (suggestionOrValue, isSuggestion) => {
    if(isSuggestion){
    //use suggestionOrValue as suggestion
}
else {
    //use suggestionOrValue as value
}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 ReactJS 的父组件中获取子组件的 ref

来自分类Dev

如何从ReactJS onSubmit()的子组件<select>中获取父项中的值

来自分类Dev

将多个状态值传递给 reactjs 中的子组件

来自分类Dev

如何从ReactJs的父组件访问子组件的输入值?

来自分类Dev

如何在reactjs中显示多个组件

来自分类Dev

从 Vue 中的子组件获取输入值

来自分类Dev

如何从 Vue 2 中的父组件获取子组件的观察者的更新值?

来自分类Dev

在reactjs componentWillMount()中,如何获取哪个组件?

来自分类Dev

获取子组件的值

来自分类Dev

ReactJS:如何访问父组件中的所有子组件?

来自分类Dev

在ReactJs中渲染子组件时如何重载子数据

来自分类Dev

如何使用reactjs在父组件中提交子值?

来自分类Dev

从多个复杂子组件中获取价值的最佳方法?

来自分类Dev

如何使在子组件中修改的值对父组件可用?

来自分类Dev

在ReactJS中嵌入子组件

来自分类Dev

如何从reactJS中的子组件更新父状态

来自分类Dev

如何在Reactjs中的多个组件之间创建通用函数?

来自分类Dev

reactjs-如何从父母组件到子组件获取axios响应数据

来自分类Dev

在通用应用中渲染reactjs组件之前如何获取localStorage?

来自分类Dev

ReactJS:如何在组件容器中获取属性?

来自分类Dev

如何在reactJS中获取父组件的目标?

来自分类Dev

如何获取对象中的子数组值

来自分类Dev

如何从外部React更新ReactJS组件中的值

来自分类Dev

ReactJS:如何在值中传递多个值?

来自分类Dev

如何从python列表中获取多个值?

来自分类Dev

如何在子组件Angular中获取输入参数?

来自分类Dev

使用reactjs从内部组件获取输入值

来自分类Dev

如何在reactjs和reflow中从其子组件设置容器组件的状态?

来自分类Dev

如何更改角度8中子组件的下拉值

Related 相关文章

  1. 1

    如何在 ReactJS 的父组件中获取子组件的 ref

  2. 2

    如何从ReactJS onSubmit()的子组件<select>中获取父项中的值

  3. 3

    将多个状态值传递给 reactjs 中的子组件

  4. 4

    如何从ReactJs的父组件访问子组件的输入值?

  5. 5

    如何在reactjs中显示多个组件

  6. 6

    从 Vue 中的子组件获取输入值

  7. 7

    如何从 Vue 2 中的父组件获取子组件的观察者的更新值?

  8. 8

    在reactjs componentWillMount()中,如何获取哪个组件?

  9. 9

    获取子组件的值

  10. 10

    ReactJS:如何访问父组件中的所有子组件?

  11. 11

    在ReactJs中渲染子组件时如何重载子数据

  12. 12

    如何使用reactjs在父组件中提交子值?

  13. 13

    从多个复杂子组件中获取价值的最佳方法?

  14. 14

    如何使在子组件中修改的值对父组件可用?

  15. 15

    在ReactJS中嵌入子组件

  16. 16

    如何从reactJS中的子组件更新父状态

  17. 17

    如何在Reactjs中的多个组件之间创建通用函数?

  18. 18

    reactjs-如何从父母组件到子组件获取axios响应数据

  19. 19

    在通用应用中渲染reactjs组件之前如何获取localStorage?

  20. 20

    ReactJS:如何在组件容器中获取属性?

  21. 21

    如何在reactJS中获取父组件的目标?

  22. 22

    如何获取对象中的子数组值

  23. 23

    如何从外部React更新ReactJS组件中的值

  24. 24

    ReactJS:如何在值中传递多个值?

  25. 25

    如何从python列表中获取多个值?

  26. 26

    如何在子组件Angular中获取输入参数?

  27. 27

    使用reactjs从内部组件获取输入值

  28. 28

    如何在reactjs和reflow中从其子组件设置容器组件的状态?

  29. 29

    如何更改角度8中子组件的下拉值

热门标签

归档