Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 - Fatal编程技术网

Javascript 使用事件处理程序动态添加html元素

Javascript 使用事件处理程序动态添加html元素,javascript,reactjs,Javascript,Reactjs,是否可以在react中附加带有事件处理程序的按钮 //这很好用,但是它是纯javascriptonclick,如何使用react jsonclick创建此元素 这是参考代码,我的场景是动态附加html代码 const Button = () => { const dynamicElement = () => { let li = document.createElement('li'); li.className = '

是否可以在react中附加带有事件处理程序的按钮

//这很好用,但是它是纯javascript
onclick
,如何使用react js
onclick
创建此元素

这是参考代码,我的场景是动态附加html代码

const Button = () => {
      const dynamicElement = () => {
           let li = document.createElement('li');
               li.className = 'dynamic-link'; // Class name
               li.innerHTML = "I am New"; // Text inside
               document.getElementById('links').appendChild(li);
               li.onclick = function(){ alert(0) } 
      }

         useEffect(() => {
             dynamicElement();
         }, [])
}

您可以将您的函数转换为这样的功能组件

const DynamicElement = () => {
    return (
      <li onClick={()=>alert(0)} className="dynamic-link">I am New</li>
    )
}
const Button = () => {
    const [visible, setVisible] = useState(false);
    useEffect(()=>setVisible(true), [])
    // if visible is true return <DynamicElement/>, either way return null
    return visible ? <DynamicElement/> : null
}
constdynamicelement=()=>{
返回(
  • alert(0)}className=“动态链接”>我是新来的
  • ) } 常量按钮=()=>{ const[visible,setVisible]=useState(false); useEffect(()=>setVisible(true),[]) //如果visible为true,则返回null 返回可见?:空 }

    顺便说一句,useState是一个状态的钩子实现,你可以把你的函数转换成这样的功能组件

    const DynamicElement = () => {
        return (
          <li onClick={()=>alert(0)} className="dynamic-link">I am New</li>
        )
    }
    const Button = () => {
        const [visible, setVisible] = useState(false);
        useEffect(()=>setVisible(true), [])
        // if visible is true return <DynamicElement/>, either way return null
        return visible ? <DynamicElement/> : null
    }
    
    constdynamicelement=()=>{
    返回(
    
  • alert(0)}className=“动态链接”>我是新来的
  • ) } 常量按钮=()=>{ const[visible,setVisible]=useState(false); useEffect(()=>setVisible(true),[]) //如果visible为true,则返回null 返回可见?:空 }
    顺便说一句,useState是一个状态的实现