小编wkl*_*klm的帖子

如何在React中更新父状态?

我的结构如下:

Component 1  

 - |- Component 2


 - - |- Component 4


 - - -  |- Component 5  

Component 3
Run Code Online (Sandbox Code Playgroud)

组件3应该根据组件5的状态显示一些数据.由于props是不可变的,我不能简单地将它保存在组件1中并转发它,对吧?是的,我读过有关redux的内容,但不想使用它.我希望只有反应就可以解决它.我错了吗?

javascript web-deployment reactjs

298
推荐指数
12
解决办法
22万
查看次数

从render方法中的嵌套函数中反映调用组件的方法

我想在onCLick上调用updateCurrentThread方法,但是我遇到了以下错误:

未捕获的TypeError:无法读取未定义的属性"updateCurrentThread"

updateCurrentThread: function(thread) {
  this.setState({
  currentThread: thread
 }).bind(this);
},


render: function () {
  var threads = this.state.data.map(function (thread) {
    var boundClick = this.updateCurrentThread.bind(this, i);
    let time = getThreadDate(thread.timestamp);
    return (
      <div className="row thread" key={thread.threadID}>
        <ThreadParticipants onClick={boundClick} key={i} className="small-2 small-centered columns" ids={thread.participantIDs}/>
      </div>
  );
})
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-jsx react-native

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

F# - 将简单的循环转换为更多功能构造

我有这种简单的"投资"类型,具有"终身"属性:

type Investment = {
PurchasePayment: float;
Lifetime: float;
TaxWriteoff: float;
ResidualValue: float;
}

let CoffeMachine = {
    PurchasePayment = 13000.0;
    Lifetime = 4.0;
    TaxWriteoff = 2000.0;
    ResidualValue = 500.0;
}
Run Code Online (Sandbox Code Playgroud)

我想重复多年的投资并每年进行一些计算:

for i = 1 to int CoffeMachine.Lifetime do
    printf "%i" i
    // doSomething
Run Code Online (Sandbox Code Playgroud)

有没有办法避免使用for循环并以更实用的方式编写它?

干杯,

WOJTEK

.net f# functional-programming

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

React:独特的"关键"道具

我收到此错误消息,虽然我的列表元素确实有一个键:(

react.js:18745警告:数组或迭代器中的每个子节点都应该有一个唯一的"键"支柱.检查渲染方法Thread.

这是我的代码:

render: function () {
    var messages = this.state.messagesCache.map(message => {
        return (message.own) ? (
            <li className="row own" key={message.id}>
                <p className="own message-body own-message-background small-5 medium-7 large-9 columns">
                    {message.body}
                </p>
                <p className="message-time small-2 large-1 columns">
                    {getTimePassed(message.timestamp)}
                </p>
            </li>
        ) : (
            <li className="row foreign" key={message.id}>
                <p className="foreign message-body foreign-message-background small-5 medium-7 large-9 columns">
                    {message.body}
                </p>
                <p className="message-time small-2 large-1 columns">
                    {getTimePassed(message.timestamp)}
                </p>
            </li>
        )
    })
    return this.state.currentThread ? (
        <div className="full-width">
            <ul className="inline-list uiScrollableArea">
                {messages}
            </ul>
            <form …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

如何强制Service-worker从缓存加载后从网络请求路由?

我正在使用sw-toolbox,它是Google提供的服务工作者库.我想将cacheFirst策略(请参阅上面链接中的自述文件)与从缓存中成功加载内容后从网络中获取.可能吗?所以例如smth就像:

toolbox.router.get('/api/currentUserID',toolbox.cacheFirst).then(fetchFromNetwork());
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助:)

javascript web-worker service-worker

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

Socket.io在Android chrome 51上不起作用

Socket.io可以在台式机chrome,chrome和firefox上完美运行,但在chrome(标准版和dev(51)安卓版)上均不能正常运行。

这是我的代码:

index.html:

<script src="/socket.io/socket.io.js"></script>
<script type="text/babel" src="scripts/messenger.js"></script>
Run Code Online (Sandbox Code Playgroud)

messenger.js

var socket = io.connect('localhost:3000');
socket.on('chat message incoming', (msg) =>
        this.incomingMessageHandler(JSON.parse(msg))
    )
socket.emit('chat message outgoing', JSON.stringify(message));
Run Code Online (Sandbox Code Playgroud)

我已经完全按照官方的socket.io教程进行了所有操作。有什么想法吗?

干杯,Wojtek

javascript android google-chrome websocket socket.io

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