React Chat App
How do I make an react chat app?
What is a react chat app? How do you make a react chat app? This script and codes were developed by Wojciech on 01 September 2022, Thursday.
React Chat App - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>React Chat App</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="app" class="container-fluid"></div> <script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
React Chat App - Script Codes CSS Codes
#app { background: #EEE;
}
#app .msg { margin: 20px 0; padding: 10px; background: #aaa;
}
#app .msg.hide { display: none;
}
React Chat App - Script Codes JS Codes
"use strict";
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var App = function (_React$Component) { _inherits(App, _React$Component); function App(props) { _classCallCheck(this, App); var _this = _possibleConstructorReturn(this, _React$Component.call(this, props)); _this.state = { lista: _this.props.lista }; return _this; } App.prototype.render = function render() { return React.createElement( "div", null, React.createElement( "h1", null, "Chat App" ), React.createElement(Messages, { lista: this.state.lista }), React.createElement(Form, { lista: this.state.lista }) ); }; return App;
}(React.Component);
var Messages = function (_React$Component2) { _inherits(Messages, _React$Component2); function Messages() { _classCallCheck(this, Messages); return _possibleConstructorReturn(this, _React$Component2.apply(this, arguments)); } Messages.prototype.render = function render() { return React.createElement( "section", null, this.props.lista ); }; return Messages;
}(React.Component);
var Message = function (_React$Component3) { _inherits(Message, _React$Component3); function Message() { _classCallCheck(this, Message); return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments)); } Message.prototype.render = function render() { return React.createElement( "article", { className: "msg" }, React.createElement( "header", null, this.props.tytul ), React.createElement( "p", null, this.props.tresc ), React.createElement( "date", null, this.props.data ), React.createElement( "button", { className: "pull-right", onClick: this.btnHide }, "Hide this message" ) ); }; Message.prototype.btnHide = function btnHide(e) { e.currentTarget.parentElement.classList.toggle("hide"); }; return Message;
}(React.Component);
var Form = function (_React$Component4) { _inherits(Form, _React$Component4); function Form(props) { _classCallCheck(this, Form); return _possibleConstructorReturn(this, _React$Component4.call(this, props)); } Form.prototype.render = function render() { return React.createElement( "form", { onSubmit: this.addMessage.bind(this) }, React.createElement("input", { type: "text", placeholder: "odpowiedz" }), React.createElement( "button", null, "Wyslij" ) ); }; Form.prototype.addMessage = function addMessage(e) { e.preventDefault(); var message = e.target.querySelector('input'); this.props.lista.push(React.createElement(Message, { tytul: "Re: Piwo", tresc: message.value, data: new Date().toLocaleString() })); message.value = null; ReactDOM.render(React.createElement(App, { lista: lista }), document.querySelector('#app')); }; return Form;
}(React.Component);
var lista = [React.createElement(Message, { tytul: "Piwo", tresc: "Idziemy na piwo?", data: "8.10.2016, 12:25:55" }), React.createElement(Message, { tytul: "Re: Piwo", tresc: "co za pytanie", data: "8.10.2016, 12:27:44" }), React.createElement(Message, { tytul: "Re: Piwo", tresc: "myy juz tu jestsmy", data: "8.10.2016, 12:30:00" })];
ReactDOM.render(React.createElement(App, { lista: lista }), document.querySelector('#app'));
Developer | Wojciech |
Username | wojtek1150 |
Uploaded | September 01, 2022 |
Rating | 3 |
Size | 3,947 Kb |
Views | 26,312 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Angular advanced table filter | 2,808 Kb |
Falling snow | 3,247 Kb |
Google maps SVG | 2,434 Kb |
Get third wednesday | 2,691 Kb |
A Pen by Wojciech | 1,471 Kb |
Make Your Own Fingal sign | 874,443 Kb |
Snow collision | 3,542 Kb |
Swiper tests | 2,086 Kb |
Simple eye follower | 43,073 Kb |
JQuery toogle boxes | 2,477 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Faces SVG animation | ScavengerFrontend | 2,957 Kb |
Brian The CSS Bee | Jonitrythall | 3,922 Kb |
Pure CSS Spinners | Jlong | 2,043 Kb |
Medium Menu | Lucasmotta | 3,923 Kb |
Project_one | MOHIM | 9,592 Kb |
Project MMetro beta | Atomicsong | 5,157 Kb |
Atom | Bhlaird | 1,932 Kb |
GrcJS | Vino6 | 2,047 Kb |
Slide out Menu | Rbiggs | 4,936 Kb |
Incremental game | Eprouver | 5,868 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!