小编Fle*_*eck的帖子

React.js:你用一个不可调用的回调调用`setState`

这是我的一段代码,它可以正常工作(添加记录),但在添加后抛出错误:

未捕获的错误:违反不变:enqueueCallback(...):你叫 setProps,replaceProps,setState,replaceState,或 forceUpdate有回调是不可调用的.

handleSubmit: function(e) {
    e.preventDefault();
    return $.post('', {page: this.state},
      function(data) {
        this.props.handleNewPage(data);
        return this.setState(this.getInitialState(), 'JSON');
      }.bind(this)
    );
  }
Run Code Online (Sandbox Code Playgroud)

目前没有路线.有人可以帮我解决这个问题吗?

javascript reactjs

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

React.js将文本呈现为HTML

这就是渲染代码现在的样子(我知道这样做是不安全的):

render: function() {
  return (
    <div className="container-fluid pages_container">
      <p dangerouslySetInnerHTML={{__html: this.state.page.body}} />
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

问题是如何安全地渲染它?我知道jQuery中有一些.html()方法,但我没有成功:)

PS jQuery包含在内,因为它是一个Rails应用程序.

javascript jquery reactjs

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

整数数组比较

我有一个关于JS数组的问题.

例:

var fullArr = [1,2,3,4];
var partArr = [2,3];
var newArr = [];
Run Code Online (Sandbox Code Playgroud)

我们有一个主数组fullArr和一个部分数组partarr.我想创建一个函数/过滤器,它正在寻找现有的项目fullArr而不是partArr.在这个例子中,上面newArr必须等于[1,4].

我尝试过做这样的事情,但它没有正常工作.

for (var k in fullArray) {   // [1,2,3,4]
  for (var j in selectedArray) {  // [1,4]
    if (fullArray[k] == selectedArray[j]) {
      newArray.splice(selectedArray[j] - 1, 1); // must be [2,3]
      break;
    } 
  }
}
Run Code Online (Sandbox Code Playgroud)

制作这个的好方法是什么?谢谢.

javascript arrays

0
推荐指数
1
解决办法
48
查看次数

标签 统计

javascript ×3

reactjs ×2

arrays ×1

jquery ×1