我的结构如下:
Component 1
- |- Component 2
- - |- Component 4
- - - |- Component 5
Component 3
Run Code Online (Sandbox Code Playgroud)
组件3应该根据组件5的状态显示一些数据.由于props是不可变的,我不能简单地将它保存在组件1中并转发它,对吧?是的,我读过有关redux的内容,但不想使用它.我希望只有反应就可以解决它.我错了吗?
我想在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) 我有这种简单的"投资"类型,具有"终身"属性:
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
我收到此错误消息,虽然我的列表元素确实有一个键:(
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) 我正在使用sw-toolbox,它是Google提供的服务工作者库.我想将cacheFirst策略(请参阅上面链接中的自述文件)与从缓存中成功加载内容后从网络中获取.可能吗?所以例如smth就像:
toolbox.router.get('/api/currentUserID',toolbox.cacheFirst).then(fetchFromNetwork());
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助:)
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 ×5
reactjs ×3
.net ×1
android ×1
f# ×1
react-jsx ×1
react-native ×1
socket.io ×1
web-worker ×1
websocket ×1