小编neh*_*hel的帖子

使用 react/redux 去抖动 textarea 输入

我正在尝试使用 react/redux 去抖动 textarea 值并在其中显示去抖动值,div#preview但在第一次函数调用后我收到合成事件警告。

我有用于处理按预期工作的 textarea 值状态的 reducer,但为简单起见,我在此代码段中编写了本地状态。

如果除了debounce避免在每次之后重新渲染之外还有更好的方法,keypress我很想知道。提前致谢。

class TextArea extends React.Component {
  constructor(props){
    super(props);
    this.state = {foo: ''}
  }
  
  handleInputChange = _.debounce((e) => {
    e.persist();
    let value = e.target.value;
    this.setState({foo: value});
  }, 300);

  render() {
    return (
      <div>
       <textarea onChange={(e)=>this.handleInputChange(e)} value={this.state.foo}></textarea>
       <p id="preview">{this.state.foo}</p>
      </div>
    );
  }
}


ReactDOM.render(
  <TextArea />,
  document.getElementById("react")
);
Run Code Online (Sandbox Code Playgroud)
<div id="react"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

javascript lodash reactjs redux

9
推荐指数
1
解决办法
3699
查看次数

用.toFixed()舍入指数小的数字

我怎样才能将这样的指数小数舍入:

2.4451778232910804e-26.toFixed(4) => 2.4452e-26

在文档中,使用.toFixed()每次都会给我0.有特殊功能exponentially small number吗?我宁愿不修改Number.prototype.toFixed().

javascript jquery

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

使用React.js获取数据属性

为什么我必须把它放进去data-*,html child attribute所以我不会undefined点击parent?即

<li data-item="item-1">
  <img src="../img" alt="img" />
  <p>Some text</p>
</li>
Run Code Online (Sandbox Code Playgroud)

通过这个例子,item-1每当我点击边界附近时我都会得到,<li>但每当我点击img或者text/paragraph我得到undefined.但是当我data-item<li>孩子们开始时我会得到正常的data价值.什么?

PS.我得到的方式data-*就是例如

handleClick(event){
  let data = event.target.dataset['item']
}
...
<li data-item="item-1" onClick={this.handleClick.bind(this)}>...</li>
Run Code Online (Sandbox Code Playgroud)

我做错了什么,我必须把每个<li>孩子都放进去,data-*所以我不会在整个<li>街区得到不确定的东西on<Event>

javascript reactjs

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

通过for循环连接字符串

我正在尝试通过连接字符串,for loop但我正在接收NaNs。我要实现的是得到一个串联的字符串Div #0, Div #1, Div #2, Div #3,

var divLength = $('div').length;

var str = '';
for(var i=0; i<divLength; i++){
  var str =+ "Div #" + [i] + ", ";
  console.log(str);
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
<div></div>
<div></div>
<div></div>
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

工具提示+模态输入按钮-引导程序

<button type="button" class="btn" data-placement="bottom" rel="tooltip" title="Info" data-toggle="modal" data-target="#myModal"></button>
Run Code Online (Sandbox Code Playgroud)

在1个按钮中获得了模态和工具提示。关闭模态后,将显示工具提示。我不要 我正在尝试使用以下代码来实现:

$('[rel="tooltip"]').tooltip('manual');
     if (!$('#myModal').is(':visible')) {
         $('[rel="tooltip"]').tooltip('hide');
     }
Run Code Online (Sandbox Code Playgroud)

此代码有什么问题?

javascript jquery twitter-bootstrap

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

Firebase 延迟加载

我正在尝试延迟加载 firebase 项目,以便稍后在用户到达 div 容器末尾时加载更多项目。当我删除.endAt().startAt()收到 15 个项目时,尽管它们没有增加并且它卡在这 15 个项目上。

当我保持.endAt()并且.startAt()我收到火力警告时, Using an unspecified index. Consider adding ".indexOn": "title" at /items即使.indexOn已设置。我对那个警告感到困惑。在此先感谢您的帮助。

Firebase 结构

{
  "items" : {
    "-Kk6aHXIyR15XiYh65Ht" : {
      "author" : "joe", 
      "title" : "Product 1"
    },
    "-Kk6aMQlh6_E3CJt_Pnq" : {
      "author" : "joe",
      "title" : "Product 2"
    }
  },
  "users" : {
    "RG9JSm8cUndpjMfZiN6c657DMIt2" : {
      "items" : {
        "-Kk6aHZs5xyOWM2fHiPV" : "-Kk6aHXIyR15XiYh65Ht",
        "-Kk6aMTJiLSF-RB3CZ-2" : "-Kk6aMQkw5bLQst81ft7"
      },
      "uid" : "RG9JSm8cUndpjMfZiN6c657DMIt2",
      "username" …
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-security firebase-realtime-database

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