相关疑难解决方法(0)

在地图函数Reactjs中,"this"未定义

我正在使用Reactjs编写一个菜单组件.

"use strict";

var React = require("react");
var Menus = React.createClass({

    item_url: function (item,categories,articles) {
        console.log('afdasfasfasdfasdf');
        var url='XXX';
        if (item.type == 1) {
            url = item.categoryId == null ? 'javascript:void(0)' : path('buex_portal_browse_category', {slug: categories[item.categoryId].slug});
        } else if (item.type == 2) {
            url = item.articleId == null ? 'javascript:void(0)' : path('buex_portal_view_article', {slug: articles[item.articleId].slug, id: item.articleId});
        } else {
            url = item.url;
        }
        return url;
    },

    render: function () {
     //   console.log(this.props.menus);  // return correctly
            var menuElements = this.props.menus.map(function (item1) { // …
Run Code Online (Sandbox Code Playgroud)

javascript this reactjs map-function

94
推荐指数
1
解决办法
4万
查看次数

使用map时,React'无法读取undefined的属性'

我正在从teamtreehouse.com制作一个非常基本的React应用程序,而且我经常遇到

"TypeError:无法读取未定义的属性'onPlayerScoreChange'"

即使我正确绑定我的功能(我认为)

'onPlayerScoreChange'Grandparent组件中的一种方法,当用户点击"+"或" - "按钮更改玩家的分数时执行该方法.

如果有人可以解释错误,那将是非常有帮助的,因为我认为我正在设置this.onPlayerScoreChange = this.onPlayerScoreChange.bind(this)伟大的祖父母的构造函数.

父组件:

class App extends React.Component {
constructor(props) {
    super(props);
    this.onPlayerScoreChange = this.onPlayerScoreChange.bind(this)
    this.state = {
        initialPlayers: props.initialPlayers,
    };
}

onPlayerScoreChange(delta, index) {
    this.setState((prevState, props) => {
        return {initialPlayers: this.prevState.initialPlayers[index].score += delta}
    })
}

render() {
    return(
        <div className = "scoreboard">
            <Header title = {this.props.title}/>
            <div className = "players">
                {this.state.initialPlayers.map(function(player, index) {
                    return(
                        <Player 
                        name = {player.name} 
                        score = {player.score} 
                        key = {player.id} 
                        index = {index}
                        onScoreChange = …
Run Code Online (Sandbox Code Playgroud)

javascript frontend reactjs

7
推荐指数
1
解决办法
3690
查看次数

标签 统计

javascript ×2

reactjs ×2

frontend ×1

map-function ×1

this ×1