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