- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个具有添加表情符号功能的聊天系统。为此,我创建了一个函数,它返回一个组件以及文本和图像。
我使用的功能
test: function(item1) {
var texts = item1.message.split(/:\)/g);
console.log(texts);
var content = [];
for(var i = 0; i < texts.length - 1; i++) {
content.push(texts[i]);
content.push(
);
}
return content.map(function(emoji) {
return ( {emoji} )
})
},
对于这次聊天,我使用的是 socketio 和 Node Express。返回的消息显示在 react 组件上。 “线程”jason 包含所有收到的消息(线程内的键是 message,user1)。现在我想要的是在 secondaryText 中调用上述测试函数并传递 {item.message} 作为参数。但当它运行时,它会显示“ Uncaught ReferenceError :测试未定义”。
{
this.state.threads.map(function(item) {
return (<>
leftAvatar={ }
primaryText={item.user1}
secondaryText={test({item})}
secondaryTextLines={2}
/>
);
})
}
整个 react 组件
const Threads = React.createClass({
getInitialState: function() {
trở lại {
threads: ThreadStore.getmessages()
}
},
userlistio:function(){
console.log(" awooooo");
socket.on('chatList',function(data){
console.log(data.Userlist+" awa!");
}.bind(this));
},
componentDidMount: function () {
ThreadStore.addChangeListener(this._onChange);
},
_onChange: function () {
this.setState({
threads: ThreadStore.getmessages()
});
},
socketio: function() {
socket.on('chat', function (data) {
console.log(data.message);
console.log(data.user2);
this.setState({threads: data.message});
}.bind(this));
},
_sendmessage: function() {
let message = this.refs.message2.value;
let User2 = this.refs.message1.value;
let Eml = LoginStore.getEmail();
let chat = {
message: message,
user1: User1,
user2: User2,
emailusr1: Eml
}
console.log('Emiting ...');
socket.emit('message', chat);
console.log('Done ...');
},
test: function(item1) {
var item = {
message: ':) hello :) hello :) hello :)'
}
console.log("smilies working");
var texts = item1.message.split(/:\)/g);
console.log(texts);
var content = [];
for(var i = 0; i < texts.length - 1; i++) {
content.push(texts[i]);
content.push(
);
}
return content.map(function(emoji) {
return ( {emoji} )
})
},
render: function() {
trở lại (
{this.userlistio()}
{this.socketio()}
Message threads
{
this.state.threads.map(function(item) {
return (<>
leftAvatar={ }
primaryText={item.user1}
secondaryText={test({item})}
secondaryTextLines={2}
/>
);
})
}
);
}
});
1 Câu trả lời
将 this.state.threads.map 更改为:
//es6
this.state.threads.map(item => { //use arrow functions in es6 for this binding/readability
trở lại (
<>
leftAvatar={ }
primaryText={item.user1}
secondaryText={this.test(item)} //changed item here to be the item as opposed to a new object of { item: item } as in your previous code.
secondaryTextLines={2}
/>
);
})
//es5
this.state.threads.map(function(item) { //use arrow functions in es6 for this binding/readability
trở lại (
<>
leftAvatar={ }
primaryText={item.user1}
secondaryText={this.test(item)} //changed item here to be the item as opposed to a new object of { item: item } as in your previous code.
secondaryTextLines={2}
/>
);
}.bind(this))
关于javascript - 如何在React Material-UI组件中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35665545/
Tôi có một biểu mẫu ở định dạng html: Tôi cần JavaScript thực thi trên trường nhập giá trị, nhưng chỉ thông qua việc gửi biểu mẫu. Lý do là trang là một mẫu nên tôi không kiểm soát được nó (không thể có
Diễn đàn tôi quản lý được lưu trữ bằng phần mềm nên tôi không có quyền truy cập vào mã nguồn và tôi chỉ có thể thêm JavaScript vào trang để đạt được mục đích. Tôi đang cố gắng thay thế trường hợp đầu tiên của một số từ khóa văn bản nhất định trên tất cả các trang bằng siêu liên kết. Tôi cũng sắp xếp chúng theo mã quốc gia
Tôi đang sử dụng JS để mở một trang mới và viết mã HTML vào đó, nhưng khi tôi thử viết JS vào trang mới bằng document.write() thì hàm này không hoạt động. Rõ ràng là một khi đã nhìn thấy thì JS chính sẽ đóng lại. Cho buổi khai trương sắp tới
Đặt câu hỏi không phải để giải quyết vấn đề, đặt câu hỏi là để hiểu rõ hơn về các chuyên gia hệ thống! Tôi biết rằng bất cứ khi nào bạn nhập mã javascript vào công cụ javascript, nó sẽ được công cụ javascript thực thi ngay lập tức. Vì tôi chưa thấy Engi
Tôi có hai tập tin javascript trong một thư mục. Tôi muốn truyền một biến từ tệp javascript này sang tệp javascript khác. Tôi nên sử dụng chương trình nào? Câu trả lời hay nhất window.postMessage dùng để nhắn tin giữa các tài liệu. làm
Tôi có một bài tập trong đó tôi cần lấy hai đầu vào và kiểm tra xem cả hai có bằng một hay không. Nếu đó là console.log thông thường console.log false Tôi đã thử một cái gì đó như thế này: hàm isPositive(fir
Tôi đang làm việc trên một ứng dụng web trong đó tôi dự định cho phép các trang web khác (khách hàng) nhúng mã javascript sau vào trang của họ: Ứng dụng web của tôi nằm tại http://example.org. Tôi không thể cho rằng các trang web của khách hàng có JQue
Hiện tại tôi đang sử dụng ba tệp JS bên ngoài. Tôi muốn kết hợp cả ba tệp JS thành một. Hãy làm bất cứ điều gì cần thiết. Tôi đã tạo aio.js và trong aio.js src="https://code.jquery.com/
Ví dụ, tôi có một mảng như thế này: var myArray = []; var item1 = { start: '08:00', end: '09:30' } var item2 = {
Vì vậy, tôi đang tạo một tiện ích mở rộng cho Chrome sử dụng một số tập lệnh TamperMonkey mà tôi đã tạo. Tôi muốn có một tệp javascript "chính" mà bạn có thể đưa vào và thực thi các tập lệnh khác từ đó. Tôi giỏi sử dụng dòng sau để đưa java khác
Tôi có các tệp A, B html và A, B javascript. Và làm thế nào để di chuyển các biến toàn cục được sử dụng trong JavaScript A trực tiếp sang JavaScript B? Ví dụ JavaScript) va
Tôi cần đưa toàn bộ mã sau vào một tệp JavaScript có tên là activate.js. Bạn có thể cho tôi biết cách thực hiện được không? var int = new int({ giây: 30, đánh dấu
Tôi đã tạo một trang chủ EXAMPLE1.Master cho ứng dụng web .net của mình. Tôi lưu trữ giá trị của chúng trong một biến JavaScript. Tôi muốn lấy biến đó trong một tệp JS khác. Ví dụ 1. Master:-
Có thư viện nào tôi có thể sử dụng để chuyển đổi mã như thế này: function () { var a = 1; } thành mã như thế này: function () { var a = 1; } trong trình duyệt của tôi không? Bởi vì tôi đang ở Gi
Tôi nhận được lỗi cú pháp bị thiếu $(document).ready(function changeText() { var p = document.getElementById('bidp
Tôi đang tạo thanh tiến trình. Nó có nhãn. Tôi muốn điều chỉnh nhãn của một đoạn mã hoàn thành cụ thể. Sau khi tìm ra một số câu trả lời cho các giải pháp khả thi, tôi đã đưa ra đoạn mã sau. Cái đầu tiên khởi động và hoạt động như mong đợi. Tuy nhiên, câu thứ hai thì không. Có vấn đề gì với nó vậy? Mã như sau: HTML:
Đây là một câu hỏi thực sự đơn giản mà đầu óc đơn giản của tôi không thể trả lời được: Tại sao các hàm ẩn danh và onload sau đây không chạy khi tôi tải thư viện bên ngoài? Tôi đang bỏ lỡ một điều rất cơ bản. Library.js chỉ có một dòng: console.log(
Tôi biết JavaScript là ngôn ngữ phía máy khách nhưng tôi muốn thử tìm hiểu xem mã JavaScript được nhúng trong mã thực tế có khác biệt gì so với mã chạy trên bảng điều khiển không. Hãy để tôi giải thích bằng một ví dụ: Tôi muốn tạo một
Làm thế nào tôi có thể thay đổi javascript nội tuyến này thành Unobtrusive JavaScript? Cảm ơn! Tôi rất cảm kích câu trả lời của bạn, nhưng nó không hiệu quả. Mã của tôi là: Tệp PHP js document.getElem
Tôi đang tìm cách thanh lịch nhất để "đổ" một đối tượng JavaScript đơn giản vào mã nguồn JavaScript được tạo động. Mục đích: Giả sử chúng ta có máy chủ node.js tạo HTML. Chúng ta có một đối tượng x ở phía máy chủ.
Tôi là một lập trình viên xuất sắc, rất giỏi!