javascript - 如何传递字符串作为参数并将其附加到 REACT 状态

标签 javascript reactjs ecmascript-6

我想传递一个字符串作为参数来完成 this.state 并构建 HTML。我在 render() 下方和 return 上方创建了一个箭头函数

const createHtml = (name, stateProperty) => {
  return (
    <h1>{name}</h1>
    <p>{this.state.stateProperty+'_x'}</p>
    <p>{this.state.stateProperty+'_y'}</p>
  )
}

createHtml('Jon', 'company')
// the result should be 
//<h1>{Jon}</h1>
//<p>{this.state.company_x}

我尝试了不同的变体,但没有任何效果或出现“无法读取属性”

<p>{this.state.${statePropety}+'x'}</p>

最佳答案

{} block 的内容是正则 Javascript 表达式。

因此,您必须将它们编写为常规 Javascript,而不是 JSX。

您想要this.state[stateProperty + 'x']

关于javascript - 如何传递字符串作为参数并将其附加到 REACT 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504568/

相关文章:

javascript - 如何使 javascript 警报不说页面名称?

javascript - 如何立即引用 useState 设置的值?

javascript - 获取父元素

javascript - 正则表达式、getElementsByTagName 和 getElementsByClassName

javascript - 如何迭代两个对象并根据 JS 中的另一个更新一个值?

Javascript ES6 类型错误 : Class constructor Client cannot be invoked without 'new'

javascript - 为什么这段代码在 javascript 中运行?对象内部函数

javascript - 如何将对象插入另一个根数组内的数组中

javascript - 如何使用 lodash 过滤两个日期之间的值?

javascript - 当浏览器不支持功能时,我如何知道是否存在 polyfill 或 Babel 插件?例如 : accessors