我试图将侧边栏导航组件移动到React.js,并且onclick中的javascript不再起作用。因此,侧边栏显示,但是单击时没有任何反应。
编辑:这是与HTML配合使用的代码:
<div id="sidebar">
<div class="toggle-btn" onclick="document.getElementById('sidebar').classList.toggle('active');">
<span></span>
<span></span>
<span></span>
</div>
<ul>
<a href="index.html" class="animsition-link">
<li>Home</li>
</a>
<a href="about.html" class="animsition-link">
<li>About</li>
</a>
<a href="resume.html" class="animsition-link">
<li>Resume</li>
</a>
<a href="projects.html" class="animsition-link">
<li>Projects</li>
</a>
</ul>
</div>
编辑:React Snippit(显示渲染的React代码的一部分)
import React, { Component } from 'react';
class Header extends Component {
render() {
if(this.props.data){
var name = this.props.data.name;
var occupation= this.props.data.occupation;
var description= this.props.data.description;
var city= this.props.data.address.city;
var networks= this.props.data.social.map(function(network){
return <li key={network.name}><a href={network.url}><i className={network.className}></i></a></li>
})
}
return (
<header id="home">
<nav id="nav-wrap">
<div id="sidebar" ref="sidebar">
<div class="toggle-btn" onChange={this.refs.state.active}>
<span></span>
<span></span>
<span></span>
</div>
<ul>
<a href="index.html" class="animsition-link">
<li>Home</li>
</a>
<a href="about.html" class="animsition-link">
<li>About</li>
</a>
<a href="resume.html" class="animsition-link">
<li>Resume</li>
</a>
<a href="projects.html" class="animsition-link">
<li>Projects</li>
</a>
</ul>
</div>
答案 0 :(得分:1)
您正在传递字符串而不是JavaScript,并使用了错误的关键字。确保使用onClick={}
和className=""
的React专用术语。
编辑:而且看来您尝试使用的引用不正确。您完全不需要在这里使用ref,因为onChange函数将在react类中可用。但是,很难在没有所有代码的情况下准确地知道您要做什么。
第二次修改: 好的,使用您更新的代码,我可以看到更多错误的信息。您遇到了一些问题,我将尽力解决。
onclick
和class
之类的东西需要更改为特定于反应的onClick
和className
才能起作用。this.props.blah
进行调用。