Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将字符串转换为HTML?_Javascript_Reactjs_Innerhtml - Fatal编程技术网

Javascript 如何将字符串转换为HTML?

Javascript 如何将字符串转换为HTML?,javascript,reactjs,innerhtml,Javascript,Reactjs,Innerhtml,所以我遇到了一个问题,我的代码被转换成字符串,而不是我试图实现的html。我的问题是如何在转换之前将其转换成innerHTML?如果我把它推到阵列上,是否可以这样做?我的目标是使它类似于“待办事项列表应用程序”,它有多个输入,将每个值吐到每一行 class Forma extends React.Component { constructor(){ super() this.state ={ name: '', birth: '', age: '', i

所以我遇到了一个问题,我的代码被转换成字符串,而不是我试图实现的html。我的问题是如何在转换之前将其转换成innerHTML?如果我把它推到阵列上,是否可以这样做?我的目标是使它类似于“待办事项列表应用程序”,它有多个输入,将每个值吐到每一行

class Forma extends React.Component {

constructor(){
  super()
  this.state ={
    name: '',
    birth: '',
    age: '',
    items: []
  }
  this.handleInputChange = this.handleInputChange.bind(this)
  this.submitItem = this.submitItem.bind(this)
}

handleInputChange(event){
let name = event.target.name
let birth = event.target.birth
let age = event.target.age
let value = event.target.value

this.setState({ [name] : value, [birth] : value, [age] : value})
}

submitItem (){
  let items = this.state.items
  let item = this.state.name
  let birth =this.state.birth
  let age = this.state.age
  let i = "<th>"
  let z = "</th>"

  let all =i + item + z + i + birth + z + i + age +z
  items.push(all)
 
  
  this.setState({ items: items})
}


  render(){
    return (
      <div className="App">
        <h1>To do List</h1>
        <input type="text" name="name" onChange={this.handleInputChange}></input>
        <input type="text" name="birth" onChange={this.handleInputChange}></input>
        <input type="text" name="age" onChange={this.handleInputChange}></input>
          <button onClick={this.submitItem}>Submit</button>
          

          {this.state.items.map((all) => {
            
            return(
              <tr>{all}<button type="submit" className="delete">Delete</button></tr>

           
            );
          })}
          
      </div>
    );
  }

}
class Forma.Component{
构造函数(){
超级()
这个州={
名称:“”,
出生:'',
年龄:'',
项目:[]
}
this.handleInputChange=this.handleInputChange.bind(this)
this.submitItem=this.submitItem.bind(this)
}
handleInputChange(事件){
让name=event.target.name
让出生=event.target.birth
让年龄=event.target.age
让值=event.target.value
this.setState({[name]:value,[birth]:value,[age]:value})
}
次滴度(){
让items=this.state.items
让item=this.state.name
让出生=this.state.birth
让age=this.state.age
让我“”“
让z=“”
设全部=i+项目+z+i+出生+z+i+年龄+z
项目。推送(全部)
this.setState({items:items})
}
render(){
返回(
待办事项清单
提交
{this.state.items.map((全部)=>{
返回(
{all}删除
);
})}
);
}
}
来自文档:可用于从字符串呈现html

危险的是,React取代了在浏览器DOM中使用innerHTML。一般来说,从代码中设置HTML是有风险的,因为很容易在不经意间让用户遭受跨站点脚本(XSS)攻击。因此,您可以直接从React设置HTML,但您必须键入危险的LysetinerHTML并传递带有_HTML键的对象,以提醒自己这是危险的

删除
来自文档:可用于从字符串呈现html

危险的是,React取代了在浏览器DOM中使用innerHTML。一般来说,从代码中设置HTML是有风险的,因为很容易在不经意间让用户遭受跨站点脚本(XSS)攻击。因此,您可以直接从React设置HTML,但您必须键入危险的LysetinerHTML并传递带有_HTML键的对象,以提醒自己这是危险的

删除

作为建议,您应该始终编写实际的变量名。这些小小的一个字母的变量使得任何人都很难处理正在发生的事情,如果你让它们表现出来,它可以帮助你更快地识别错误。作为一个建议,你应该总是写下实际的变量名。这些小小的一个字母的变量使得任何人都很难处理正在发生的事情,如果你让它们表现出来,它可以帮助你更快地识别错误。你需要启用JavaScript来运行这个应用程序。这就是我执行此操作时遇到的错误。是否禁用了javascript?您使用的是什么浏览器,以及刚刚测试过的版本,它的启用。尝试将
Delete
移动到
all
变量,因为您不能有多个
危险的HTML
,非常感谢您,伙计,您引导我走上了正确的道路,我在您的帮助下解决了这个问题!!我在地图上添加了这一行:(
)您需要启用JavaScript才能运行此应用程序。这就是我执行此操作时遇到的错误。是否禁用了javascript?您使用的是什么浏览器,以及刚刚测试过的版本,它的启用。尝试将
Delete
移动到
all
变量,因为您不能有多个
危险的HTML
,非常感谢您,伙计,您引导我走上了正确的道路,我在您的帮助下解决了这个问题!!我在地图上添加了这一行:(
<tr dangerouslySetInnerHTML={{all}}><button type="submit" className="delete">Delete</button></tr>