将 props 的函数传递给 react 中的 render 函数

阿纳斯

大家好,我有这个代码,我已经添加了一个表

import React, {Component} from 'react';
import Auth from '../modules/Auth';
import Dashboard from '../components/Dashboard.jsx';
import {
  Table,
  TableBody,
  TableHeader,
  TableHeaderColumn,
  TableRow,
  TableRowColumn,
} from 'material-ui/Table';


class DashboardPage extends React.Component {

  /**
   * Class constructor.
   */
  constructor(props) {
    super(props);

    this.state = {
      secretData: '',
      selected: [1]
    };
  }

componentDidMount() {
        const xhr = new XMLHttpRequest();
        xhr.open('get', '/api/dashboard');
        xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        // set the authorization HTTP header
        xhr.setRequestHeader('Authorization', `bearer ${Auth.getToken()}`);
        xhr.responseType = 'json';
        xhr.addEventListener('load', () => {
          if (xhr.status === 200) {
            this.setState({
              secretData: xhr.response.message
            });
          }
        });
        xhr.send();
        isSelected = (index) => {
        return this.state.selected.indexOf(index) !== -1;
        };
        handleRowSelection = (selectedRows) => {
        this.setState({
          selected: selectedRows,
         });
        };
      }

  /**

我已经传过这样的数据,这样对吗

   */
  render() {
    return (<Dashboard isSelected={this.isSelected} handleRowSelection={this.handleRowSelection} />);
  }

}

    export default DashboardPage;

这是另一个代码

  import React, { PropTypes, Component } from 'react';
import { Card, CardTitle, CardText } from 'material-ui/Card';
import {Table,TableBody,TableHeader,TableHeaderColumn,TableRow,TableRowColumn,} from 'material-ui/Table';



const Dashboard = ({handleRowSelection, isSelected }) => (
<Table onRowSelection={this.handleRowSelection}>
        <TableHeader>
          <TableRow>
            <TableHeaderColumn>ID</TableHeaderColumn>
            <TableHeaderColumn>Name</TableHeaderColumn>
            <TableHeaderColumn>Status</TableHeaderColumn>
          </TableRow>
        </TableHeader>
        <TableBody>
          <TableRow selected={this.isSelected(0)}>
            <TableRowColumn>1</TableRowColumn>
            <TableRowColumn>John Smith</TableRowColumn>
            <TableRowColumn>Employed</TableRowColumn>
          </TableRow>
          <TableRow selected={this.isSelected(1)}>
            <TableRowColumn>2</TableRowColumn>
            <TableRowColumn>Randal White</TableRowColumn>
            <TableRowColumn>Unemployed</TableRowColumn>
          </TableRow>
          <TableRow selected={this.isSelected(2)}>
            <TableRowColumn>3</TableRowColumn>
            <TableRowColumn>Stephanie Sanders</TableRowColumn>
            <TableRowColumn>Employed</TableRowColumn>
          </TableRow>
          <TableRow selected={this.isSelected(3)}>
            <TableRowColumn>4</TableRowColumn>
            <TableRowColumn>Steve Brown</TableRowColumn>
            <TableRowColumn>Employed</TableRowColumn>
          </TableRow>
        </TableBody>
      </Table>
);


export default Dashboard;

我想要的是将函数 isSelected, handleRowSelection 传递给另一边,但我有那个问题告诉我 Uncaught ReferenceError: isSelected is not defined 我想要的是应用这个http://www.material-ui.com/# /components/table有没有一种方法可以传递该函数

洪扎·卡尔弗斯

首先,在 中DashboardPage,您需要将isSelected定义handleRowSelection为方法(或类属性)。

其次,您需要this.Dashboard组件中的任何地方放置

第三,你需要使用isSelected回调中Dashboard,像这样:() => isSelected(0)这将确保isSelected在您实际选择表格行后调用。目前,isSelected会在Dashboard组件挂载后立即调用 4 次,因为该函数是直接调用的。

顺便说一句,老实说,我建议您参加一些有关 ES6 和 React 基础知识的在线课程,否则您将不知道自己在做什么以及为什么某些事情会以这种方式工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 props 的值从函数传递给 React.JS 中的 render()

来自分类Dev

将函数传递给 props 中的 React 组件

来自分类Dev

将props传递给react函数

来自分类Dev

如何通过React中的props将函数传递给不同组件中的函数?

来自分类Dev

将函数传递给React中的组件

来自分类Dev

将路径参数传递给Switch中Route的render()函数-React Router

来自分类Dev

如何在React中不使用props的情况下将函数传递给组件的层次结构?

来自分类Dev

如何将参数传递给React js中的函数?

来自分类Dev

将数字传递给React JS中的函数

来自分类Dev

将 props 作为函数传递在函数 react 中不起作用

来自分类Dev

将函数传递给C ++中的函数

来自分类Dev

React-Final-Form 如何将 props location.search 传递给函数

来自分类Dev

将组件传递给Route作为prop与包装组件在render函数中的区别

来自分类Dev

将引用其他函数的函数传递给 React 中的子组件

来自分类Dev

如何将参数传递给 React 函数组件中的函数

来自分类Dev

如何使用React js中的上下文将函数从FUNCTIONAL传递给CLASS组件,并在render(无需prop)之外访问它?

来自分类Dev

通过 props 将函数列表传递给组件

来自分类Dev

将变量传递给JavaScript中的函数

来自分类Dev

将函数传递给elisp中的参数

来自分类Dev

将指针传递给C ++中的函数

来自分类Dev

将参数传递给yii中的函数

来自分类Dev

将数组传递给C中的函数

来自分类Dev

将数组传递给erlang中的函数

来自分类Dev

将参数传递给Ajax中的函数

来自分类Dev

将变量传递给Evaluate()中的函数

来自分类Dev

将数组传递给PostgreSQL中的函数

来自分类Dev

将值传递给jQuery中的函数

来自分类Dev

将变量传递给R中的函数

来自分类Dev

将数组传递给erlang中的函数

Related 相关文章

  1. 1

    将 props 的值从函数传递给 React.JS 中的 render()

  2. 2

    将函数传递给 props 中的 React 组件

  3. 3

    将props传递给react函数

  4. 4

    如何通过React中的props将函数传递给不同组件中的函数?

  5. 5

    将函数传递给React中的组件

  6. 6

    将路径参数传递给Switch中Route的render()函数-React Router

  7. 7

    如何在React中不使用props的情况下将函数传递给组件的层次结构?

  8. 8

    如何将参数传递给React js中的函数?

  9. 9

    将数字传递给React JS中的函数

  10. 10

    将 props 作为函数传递在函数 react 中不起作用

  11. 11

    将函数传递给C ++中的函数

  12. 12

    React-Final-Form 如何将 props location.search 传递给函数

  13. 13

    将组件传递给Route作为prop与包装组件在render函数中的区别

  14. 14

    将引用其他函数的函数传递给 React 中的子组件

  15. 15

    如何将参数传递给 React 函数组件中的函数

  16. 16

    如何使用React js中的上下文将函数从FUNCTIONAL传递给CLASS组件,并在render(无需prop)之外访问它?

  17. 17

    通过 props 将函数列表传递给组件

  18. 18

    将变量传递给JavaScript中的函数

  19. 19

    将函数传递给elisp中的参数

  20. 20

    将指针传递给C ++中的函数

  21. 21

    将参数传递给yii中的函数

  22. 22

    将数组传递给C中的函数

  23. 23

    将数组传递给erlang中的函数

  24. 24

    将参数传递给Ajax中的函数

  25. 25

    将变量传递给Evaluate()中的函数

  26. 26

    将数组传递给PostgreSQL中的函数

  27. 27

    将值传递给jQuery中的函数

  28. 28

    将变量传递给R中的函数

  29. 29

    将数组传递给erlang中的函数

热门标签

归档