无法读取 属性 个未定义的卡片 material ui
Cannot read Property of undeifned Cards material ui
我在我的 React 项目中使用来自 material ui 的卡片。我想在我的卡片中使用两个函数,onMouseOver 和 onMouseOut。但是我的代码给我一个错误 "Uncaught TypeError: Cannot read property 'onMouseOver' of undefined"。这是我的代码中关于该部分的摘要。
class ExpandableCard extends Component {
constructor(props) {
super(props);
this.state = {shadow: 1}
}
onMouseOver = () => this.setState({shadow: 3});
onMouseOut = () => {this.setState({shadow: 1})
};
render(){
var Populate = this.props.mediaFiles.map(function (value) {
return (
<MuiThemeProvider>
<Card key = {value.id}
onMouseOver={this.onMouseOver}
onMouseOut={this.onMouseOut}
zDepth={this.state.shadow}
>
看来您只是遇到了基本的 javascript 问题,即 render
方法中的 map 函数中缺少上下文 (this)。
我建议您将 render 中的 map
函数更改为箭头函数(这样它会将外部上下文保留在内部函数中),这应该足够了。 :)
render() {
var Populate = this.props.mediaFiles.map((value) => {
return (
<MuiThemeProvider>
<Card key = {value.id}
onMouseOver={this.onMouseOver}
onMouseOut={this.onMouseOut}
zDepth={this.state.shadow}
>
...
我在我的 React 项目中使用来自 material ui 的卡片。我想在我的卡片中使用两个函数,onMouseOver 和 onMouseOut。但是我的代码给我一个错误 "Uncaught TypeError: Cannot read property 'onMouseOver' of undefined"。这是我的代码中关于该部分的摘要。
class ExpandableCard extends Component {
constructor(props) {
super(props);
this.state = {shadow: 1}
}
onMouseOver = () => this.setState({shadow: 3});
onMouseOut = () => {this.setState({shadow: 1})
};
render(){
var Populate = this.props.mediaFiles.map(function (value) {
return (
<MuiThemeProvider>
<Card key = {value.id}
onMouseOver={this.onMouseOver}
onMouseOut={this.onMouseOut}
zDepth={this.state.shadow}
>
看来您只是遇到了基本的 javascript 问题,即 render
方法中的 map 函数中缺少上下文 (this)。
我建议您将 render 中的 map
函数更改为箭头函数(这样它会将外部上下文保留在内部函数中),这应该足够了。 :)
render() {
var Populate = this.props.mediaFiles.map((value) => {
return (
<MuiThemeProvider>
<Card key = {value.id}
onMouseOver={this.onMouseOver}
onMouseOut={this.onMouseOut}
zDepth={this.state.shadow}
>
...