Use React.PureComponent instead of pure-render-decorator
This commit is contained in:
parent
531792b14a
commit
e6892ccd2d
19 changed files with 57 additions and 139 deletions
|
@ -1,11 +1,9 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { List } from 'immutable';
|
||||
import pure from 'pure-render-decorator';
|
||||
import Navicon from '../components/Navicon';
|
||||
import { linkify } from '../util';
|
||||
|
||||
@pure
|
||||
export default class ChatTitle extends Component {
|
||||
export default class ChatTitle extends PureComponent {
|
||||
handleLeaveClick = () => {
|
||||
const { tab, disconnect, part, closePrivateChat } = this.props;
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
|
||||
@pure
|
||||
export default class FileInput extends Component {
|
||||
export default class FileInput extends PureComponent {
|
||||
componentWillMount() {
|
||||
this.input = window.document.createElement('input');
|
||||
this.input.setAttribute('type', 'file');
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { timestamp, linkify } from '../util';
|
||||
|
||||
@pure
|
||||
export default class Message extends Component {
|
||||
export default class Message extends PureComponent {
|
||||
handleSenderClick = () => {
|
||||
const { message, openPrivateChat, select } = this.props;
|
||||
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { VirtualScroll } from 'react-virtualized';
|
||||
import pure from 'pure-render-decorator';
|
||||
import Message from './Message';
|
||||
|
||||
@pure
|
||||
export default class MessageBox extends Component {
|
||||
export default class MessageBox extends PureComponent {
|
||||
state = {
|
||||
height: window.innerHeight - 100
|
||||
};
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
|
||||
@pure
|
||||
export default class MessageInput extends Component {
|
||||
export default class MessageInput extends PureComponent {
|
||||
state = {
|
||||
value: ''
|
||||
};
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import pure from 'pure-render-decorator';
|
||||
import { toggleMenu } from '../actions/ui';
|
||||
|
||||
@pure
|
||||
class Navicon extends Component {
|
||||
class Navicon extends PureComponent {
|
||||
handleClick = () => this.props.dispatch(toggleMenu());
|
||||
|
||||
render() {
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
import SearchResult from './SearchResult';
|
||||
|
||||
@pure
|
||||
export default class Search extends Component {
|
||||
export default class Search extends PureComponent {
|
||||
componentDidUpdate(prevProps) {
|
||||
if (!prevProps.search.show && this.props.search.show) {
|
||||
this.input.focus();
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import Autolinker from 'autolinker';
|
||||
import pure from 'pure-render-decorator';
|
||||
import { timestamp } from '../util';
|
||||
|
||||
@pure
|
||||
export default class Search extends Component {
|
||||
export default class Search extends PureComponent {
|
||||
render() {
|
||||
const { result } = this.props;
|
||||
const content = Autolinker.link(result.content, { stripPrefix: false });
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
import TabListItem from './TabListItem';
|
||||
|
||||
@pure
|
||||
export default class TabList extends Component {
|
||||
export default class TabList extends PureComponent {
|
||||
handleTabClick = (server, target) => {
|
||||
this.props.select(server, target, target && target.charAt(0) !== '#');
|
||||
this.props.hideMenu();
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
|
||||
@pure
|
||||
export default class TabListItem extends Component {
|
||||
export default class TabListItem extends PureComponent {
|
||||
handleClick = () => {
|
||||
const { server, target, onClick } = this.props;
|
||||
onClick(server, target);
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { VirtualScroll } from 'react-virtualized';
|
||||
import pure from 'pure-render-decorator';
|
||||
import UserListItem from './UserListItem';
|
||||
|
||||
@pure
|
||||
export default class UserList extends Component {
|
||||
export default class UserList extends PureComponent {
|
||||
state = {
|
||||
height: window.innerHeight - 100
|
||||
};
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import React, { Component } from 'react';
|
||||
import pure from 'pure-render-decorator';
|
||||
import React, { PureComponent } from 'react';
|
||||
|
||||
@pure
|
||||
export default class UserListItem extends Component {
|
||||
export default class UserListItem extends PureComponent {
|
||||
handleClick = () => {
|
||||
const { tab, user, openPrivateChat, select } = this.props;
|
||||
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { push } from 'react-router-redux';
|
||||
import pure from 'pure-render-decorator';
|
||||
import TabList from '../components/TabList';
|
||||
import { select } from '../actions/tab';
|
||||
import { hideMenu } from '../actions/ui';
|
||||
|
||||
@pure
|
||||
class App extends Component {
|
||||
class App extends PureComponent {
|
||||
render() {
|
||||
const { showTabList, children } = this.props;
|
||||
const mainClass = showTabList ? 'main-container off-canvas' : 'main-container';
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { bindActionCreators } from 'redux';
|
||||
import { connect } from 'react-redux';
|
||||
import { createSelector, createStructuredSelector } from 'reselect';
|
||||
import { List, Map } from 'immutable';
|
||||
import pure from 'pure-render-decorator';
|
||||
import ChatTitle from '../components/ChatTitle';
|
||||
import Search from '../components/Search';
|
||||
import MessageBox from '../components/MessageBox';
|
||||
|
@ -36,8 +35,7 @@ function updateCharWidth() {
|
|||
return setCharWidth(charWidth);
|
||||
}
|
||||
|
||||
@pure
|
||||
class Chat extends Component {
|
||||
class Chat extends PureComponent {
|
||||
componentWillMount() {
|
||||
const { dispatch } = this.props;
|
||||
dispatch(updateCharWidth());
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import pure from 'pure-render-decorator';
|
||||
import Navicon from '../components/Navicon';
|
||||
import * as serverActions from '../actions/server';
|
||||
import { join } from '../actions/channel';
|
||||
import { select } from '../actions/tab';
|
||||
|
||||
@pure
|
||||
class Connect extends Component {
|
||||
class Connect extends PureComponent {
|
||||
state = {
|
||||
showOptionals: false,
|
||||
passwordTouched: false
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
import React, { Component } from 'react';
|
||||
import React, { PureComponent } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import pure from 'pure-render-decorator';
|
||||
import Navicon from '../components/Navicon';
|
||||
import FileInput from '../components/FileInput';
|
||||
import { setCert, setKey, uploadCert } from '../actions/settings';
|
||||
|
||||
@pure
|
||||
class Settings extends Component {
|
||||
class Settings extends PureComponent {
|
||||
handleCertChange = (name, data) => this.props.dispatch(setCert(name, data));
|
||||
handleKeyChange = (name, data) => this.props.dispatch(setKey(name, data));
|
||||
handleCertUpload = () => this.props.dispatch(uploadCert());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue