我正在使用React js 0.14.3,我正在尝试使用react创建一个Side Menu组件但我不知道为什么我有一个"无法读取属性'refs'为null"当我使用refs之类的反应文件:https: //facebook.github.io/react/docs/more-about-refs.html 你能帮我吗?
'use strict';
import React from 'react';
import BaseComponent from './../../BaseComponent.react';
import Menu from './SidePanelMenu';
import MenuItem from './SidePanelMenuItem';
class SidePanel extends BaseComponent {
showLeft() {
this.refs.leftmenu.show();
}
render() {
return(
<div>
<button onClick={this.showLeft}>Show Left Menu!</button>
<Menu ref="leftmenu" alignment="left">
<MenuItem hash="first-page">First Page</MenuItem>
<MenuItem hash="second-page">Second Page</MenuItem>
<MenuItem hash="third-page">Third Page</MenuItem>
</Menu>
</div>
);
}
}
export default SidePanel;
Run Code Online (Sandbox Code Playgroud)
小智 43
你需要绑定上下文this.
绑定onClick处理程序的行:
onClick={this.showLeft}
Run Code Online (Sandbox Code Playgroud)
需要是:
onClick={this.showLeft.bind(this)}
Run Code Online (Sandbox Code Playgroud)
否则当你打电话showLeft时无法访问this.
小智 7
改变这个:
<button onClick={this.showLeft}>Show Left Menu!</button>
Run Code Online (Sandbox Code Playgroud)
对此:
<button onClick={::this.showLeft}>Show Left Menu!</button>`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20328 次 |
| 最近记录: |