小编fir*_*sco的帖子

反应JS。将元素附加到 DOM

我是新来的,过去几天我一直在玩它。我正在尝试向 DOM 附加一个值,我找到了一种方法,但我正在寻找一种方法

var para = document.createElement("li");
var t = document.createTextNode(value);
para.appendChild(t);
document.getElementById("root").appendChild(para); 
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找不同的方式。我尝试了几种不同的方法,但我被卡住了。除了上面的这个方法还有别的方法吗^^^^

import React, { Component } from 'react';
import { render } from 'react-dom';


export class Parent extends React.Component {
  constructor(props) {
    this.greet = this.greet.bind(this);
    this.state = { text: " " };
  }

  greet(value) {
    //console.log(value);

    var para = document.createElement("li");
    var t = document.createTextNode(value);
    para.appendChild(t);
    document.getElementById("root").appendChild(para); 

  }

  render() {
    return (
      <div>
        <Child onGreet={this.greet} />
      </div>
    )
  }
};


export class Child extends React.Component {

  constructor(props) { …
Run Code Online (Sandbox Code Playgroud)

javascript dom createelement reactjs

4
推荐指数
1
解决办法
2万
查看次数

错误:超过最大更新深度。当组件重复调用时可能会发生这种情况

我是新来的,过去几天我一直在玩它。每当我尝试在下面运行这个简单的代码时,它总是给我错误。

“超出了最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 内重复调用 setState 时,可能会发生这种情况。React 限制嵌套更新的数量以防止无限循环。”

我不知道为什么,有人可以帮助我吗?先感谢您。

import React, { Component } from 'react';
import { render } from 'react-dom';



export default class State1 extends React.Component {

  constructor() {
    this.state = { value: "llll" };
  }

  change() {
    setTimeout(()=>{
      this.setState({value:"eeee"});
    },3000);
  }

  change2() {
      this.setState({value:"eeee"});
  }
  
  render() {
    {this.change2()};
    return (
      <div > {this.state.value} </div >
    ) 
  }


}
Run Code Online (Sandbox Code Playgroud)

javascript web reactjs react-redux

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×2

reactjs ×2

createelement ×1

dom ×1

react-redux ×1

web ×1