小编Jon*_*nan的帖子

React:在组件函数中未定义"this"

class PlayerControls extends React.Component {
  constructor(props) {
    super(props)

    this.state = {
      loopActive: false,
      shuffleActive: false,
    }
  }

  render() {
    var shuffleClassName = this.state.toggleActive ? "player-control-icon active" : "player-control-icon"

    return (
      <div className="player-controls">
        <FontAwesome
          className="player-control-icon"
          name='refresh'
          onClick={this.onToggleLoop}
          spin={this.state.loopActive}
        />
        <FontAwesome
          className={shuffleClassName}
          name='random'
          onClick={this.onToggleShuffle}
        />
      </div>
    );
  }

  onToggleLoop(event) {
    // "this is undefined??" <--- here
    this.setState({loopActive: !this.state.loopActive})
    this.props.onToggleLoop()
  }
Run Code Online (Sandbox Code Playgroud)

我想loopActive在切换时更新状态,但是this在处理程序中未定义对象.根据教程文档,我this应该参考该组件.我错过了什么吗?

this reactjs

121
推荐指数
4
解决办法
8万
查看次数

Enums需要多少内存?

例如,如果我有一个包含两种情况的枚举,它是否会占用比布尔值更多的内存?语言:Java,C++

c++ java memory enums

47
推荐指数
4
解决办法
3万
查看次数

Django模型 - 如何过滤ForeignKey对象的数量

我有一个模型AB,是这样的:

class A(models.Model):
  title = models.CharField(max_length=20)
  (...)

class B(models.Model):
  date = models.DateTimeField(auto_now_add=True)
  (...)
  a = models.ForeignKey(A)
Run Code Online (Sandbox Code Playgroud)

现在我有一些AB对象,我想得到一个查询,选择所有A少于2的对象B指向它们.

A类似于池事物,用户(B)连接池.如果只有1或0加入,则不应显示池.

这种模型设计有可能吗?或者我应该修改一下?

python django database-design

43
推荐指数
2
解决办法
2万
查看次数

如何使用JSP替换HTML表行颜色?

如何使用JSP替换HTML表格行颜色?

我的CSS看起来像:

tr.odd {background-color: #EEDDEE}
tr.even {background-color: #EEEEDD}
Run Code Online (Sandbox Code Playgroud)

我想用来<c:forEach>迭代一个集合.

<c:forEach items="${element}" var="myCollection">
  <tr>
    <td><c:out value="${element.field}"/></td>
    ...
  </tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

我需要一个int count变量或boolean odd/even变量来跟踪行.然后我的<tr>标签看起来像:

<tr class="odd or even depending on the row">
Run Code Online (Sandbox Code Playgroud)

html css jsp jstl

29
推荐指数
1
解决办法
5万
查看次数

在firefox浏览器中将动态html表导出为javascript

想在javascript中导出动态html表到excel有什么方法可以在firefox浏览器中做,而无需在代码中使用activex对象.请帮助我

javascript excel firefox

21
推荐指数
3
解决办法
5万
查看次数

msys git和长路径

我正在尝试使用git来更有效地管理使用CVS进行源代码控制的项目,但是我遇到了问题add- 一个确实有很长路径的文件 - 276个字符.

不幸的是,这个文件是由我正在使用的工具随附的自定义IDE生成的,并且它应该由该工具存在,因此无法重命名或移动.

使用以下方法尝试使这半可读:

<projectpath>- 保存此项目所有组件
<hugepath>的路径 - 从<projectpath>我遇到问题的第一个文件的路径 - 我遇到问题
<filename>的文件的名称

me@work <projectpath>
$ git init
Initialized empty Git repository in <projectpath>/.git/

me@work <projectpath> (master)
$ git add <hugepath>/<filename>
fatal: unable to stat '<hugepath>/<filename>': No such file or directory

me@work <projectpath> (master)
$ ls -al <hugepath>
ls: <hugepath>/<filename>: File or path name too long
total 3
drwxr-xr-x    3 me Administ        0 May  3  2010 .
drwxr-xr-x    4 me Administ     4096 …
Run Code Online (Sandbox Code Playgroud)

windows git path msysgit

13
推荐指数
3
解决办法
8615
查看次数

React-无法读取undefined的属性'setState'

出于某种原因,我收到错误"React-无法读取未定义的属性'setState'".因此,this.state永远不会使用用户输入的值进行更新.当我尝试注释掉的绑定时,我得到了奇怪的行为,我无法输入用户名的输入,我不再得到null错误,但值只是未定义.任何帮助,将不胜感激.谢谢.

import __fetch from "isomorphic-fetch";
import React from "react";
import InlineCss from "react-inline-css";
import Transmit from "react-transmit";

import Header from './components/header'

class Registration extends React.Component {

    componentWillMount () {
        if (__SERVER__) {
            console.log("Hello server from Registration");
        }

        if (__CLIENT__) {
            console.log("Hello Registration screen");
        }
    }

    constructor () {
        super()

        this.state = {
            name: '',
            password: ''
        }

         //this.onChangeName = this.onChangeName.bind(this);
         //this.onChangePassword = this.onChangePassword.bind(this);
    }

    onChangeName(e) {
        //this.state.name = e.target.name
        this.setState({ name: e.target.name});
    }

    onChangePassword(e) {
        //this.state.password = e.target.name
        this.setState({ password: …
Run Code Online (Sandbox Code Playgroud)

html javascript forms this reactjs

9
推荐指数
2
解决办法
2万
查看次数

如何查找具有最常见标记的记录,例如StackOverflow中的相关问题

我们可以在StackOverflow网站上用多个标签标记一个问题,我想知道如何找出与常见标签最相关的问题.

假设我们在数据库中有100个问题,每个问题都有几个标签.假设用户正在浏览特定问题,我们希望系统在页面上显示相关问题.相关问题的标准是它们具有最常见的标签.

例如:问题1标有AAA,BBB,CCC,DDD,EEE.

问题2与前1相关,因为它也包含所有这5个标签.问题3与前2相关,因为它只有Questio1有4或3个标签.......

所以我的问题是如何设计数据库并快速找出与问题1相关的问题.非常感谢你.

sql database tags algorithm

7
推荐指数
2
解决办法
1210
查看次数

反应句柄表单提交

我正在尝试在React/Redux中创建一个表单.现在我只希望表单在提交表单时触发我的函数handleSubmit.但是目前看起来该功能是在页面加载时立即触发的......

export default class AssetsAdd extends React.Component {

  componentDidMount() {
    console.log(this)
  }

  handleSubmit(event) {
    if (this.refs.titleInput !== '') {
      event.preventDefault();
      var asset = {
        date: '',
        title : this.refs.titleInput.value,
        id : '',
        type: this.refs.typeInput.value
      }

      return this.props.dispatch(addAsset(asset))
    }


  }

  render() {
    return (
      <div>
        <Row>
          <Portlet title='New Asset' form>
            <Form horizontal onSubmit={this.handleSubmit}>
              <FormGroup>
                <Label text='Title' size='3' />
                <Input ref="titleInput" placeholder='Enter asset title' size='4'/>
              </FormGroup>
              <FormGroup>
                <Label text='Type' size='3' />
                <Input ref="typeInput" placeholder='Enter asset type' size='4'/>
              </FormGroup>
              <FormGroup>
                <Label text='Description' size='3' …
Run Code Online (Sandbox Code Playgroud)

javascript forms reactjs react-redux

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

为什么IE在设置innerHTML时会出现意外错误

我试图在firefox中的一个元素上设置innerHTML并且它工作正常,在IE中尝试它并且出现意外错误,没有明显的原因.

例如,如果您尝试将表的innerHTML设置为"hi from stu",则它将失败,因为该表必须后跟一个序列.

javascript internet-explorer innerhtml

6
推荐指数
2
解决办法
7795
查看次数

反应这是未定义的

this承诺中的React 未定义.这是我的代码:

export default class Album extends React.Component {

    constructor(props) {
        super(props);
    }

    componentDidMount ()  {
        console.log(this.props.route.appState.tracks);  // `this` is working
        axios({
            method: 'get',
            url: '/api/album/' + this.props.params.id + '/' + 'tracks/',
            headers: {
                'Authorization': 'JWT ' + sessionStorage.getItem('token')
            }
        }).then(function (response) {
            console.log(response.data);
            this.props.route.appState.tracks.concat(response.data); // 'this' isn't working
        }).catch(function (response) {
            console.error(response);
            //sweetAlert("Oops!", response.data, "error");
        })
    }
Run Code Online (Sandbox Code Playgroud)

这是错误代码:

TypeError: this is undefined
Stack trace:
componentDidMount/<@webpack:///./static/apps/components/Album.jsx?:81:17
Run Code Online (Sandbox Code Playgroud)

this reactjs

6
推荐指数
1
解决办法
8635
查看次数

在回调中使用this.setState

我有以下代码在react组件中获取twitter时间轴:

  componentWillMount: function() {
    twitter.get('statuses/user_timeline',
    function(error, data) {
      this.setState({tweets: data})
     });
  }
Run Code Online (Sandbox Code Playgroud)

但我无法设置state那里,因为this没有设置回该函数中的组件.

如何在回调中设置状态?

nb console.log(data)而不是this.setState工作正常,这就是为什么我怀疑这个变量的问题.

javascript callback this reactjs

3
推荐指数
1
解决办法
2560
查看次数

如何在React中的循环内触发'this'

我很善于反应并且无法获得循环生成的单选按钮的价值.我有一个小提琴设置:https://jsfiddle.net/rexonms/zrax0zfa/.

该示例有两种类型的单选按钮.一组使用循环生成,另一组使用循环生成.没有循环的那个工作(记录按钮的值)但是当我尝试控制记录单选按钮的值时,用循环创建的那个不起作用.

先感谢您.

var Inputs = React.createClass({

    getInitialState: function(){
        return {
            radios: {
                a: { radio: 'Radio Loop A' },
                b: { radio: 'Radio Loop B' },
                c: { radio: 'Radio Loop C' }
            },

            radioNoLoop: 'Radio No Loop' 
        }
    },

    selectHandlerLoop: function(e){
        console.log(e.target.value);
    },

    selectHandle: function(e){
        console.log(e.target.value);
    },

    render: function() {
        var radios = this.state.radios;
        var r = this;
        return(
            <div>
                {/* Creating radio buttons using Array */}
                {Object.keys(radios).map(function(key,r) {
                    return ( 
                        <div key={key}>
                            <label …
Run Code Online (Sandbox Code Playgroud)

javascript this reactjs

2
推荐指数
2
解决办法
1525
查看次数