javascript - 在 react jsx 的一个元素中实现一组对象作为属性

标签 javascript reactjs

我有一个组件,我想将一个未知的对象数组(长度未知)传递给它,并在内部输入标签中以键和值格式将其显示为属性。

<Input 
  type="text"
  label = {"length" + '(' + this.state.package_length_unit + ')'}
  placeholder = "length"
  defaultValue = {this.state.package_length ? this.state.package_length : ''}
  onInputChange = { this.onInputChange }
  attrs = {[{name: 'id',value: 'package_length'},{name: 'apikey',value: 'package_length'}]}
/> 

在组件内部我有这样的东西

<input 
  type = {props.type} 
  ref = {this.inputRef}
  className = {inputClassName}
  disabled = {props.disabled ? 'disabled' : ''}
  defaultValue = {props.defaultValue ? props.defaultValue : ''}
  onChange = {props.onInputChange ? props.onInputChange : e => {}}
  onKeyUp = {this.handleTyping}
  placeholder = {
     props.placeholder ? props.placeholder : ''
  } 
  {...props.attrs} // ??
  // ********* here I want to have ==> 
  // id = 'package_length'
  // apikey = 'package_length'
  // ********* printed
 />

有什么办法可以实现吗? 提前致谢。

最佳答案

{
  ...props.attrs.reduce((prev, curr) => {
    prev[curr.name] = curr.value;

    return prev;
  }, {})
}

关于javascript - 在 react jsx 的一个元素中实现一组对象作为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56504988/

相关文章:

javascript - Jest 基础 : Testing function from component

css - 选择中的 A​​ntd 自动换行

javascript - 如何在 href 中使用 JavaScript 变量?

javascript - 导出默认类型

添加为另一个对象的属性时,JavaScript 表单序列化不正确

javascript - 手动输入链接时的重定向,react-router props 的其他问题

javascript - 滚动到某个位置时如何更改导航栏颜色?

javascript - 在 JavaScript 中打开新的浏览器窗口而不使其处于事件状态

reactjs - 如何用 React 组件替换 Markdown 渲染的 HTML 标签?

javascript - 如何在 Signalr connection.on() 中设置组件状态