diff --git a/components/member-list.js b/components/member-list.js index 4d477ee..f1d67b7 100644 --- a/components/member-list.js +++ b/components/member-list.js @@ -1,25 +1,43 @@ import { html, Component } from "/lib/index.js"; -function MemberItem(props) { - function handleClick(event) { - event.preventDefault(); - props.onClick(); +class MemberItem extends Component { + constructor(props) { + super(props); + + this.handleClick = this.handleClick.bind(this); } - var url = "irc:///" + encodeURIComponent(props.nick) + ",isnick"; - return html` -
  • - ${props.nick} -
  • - `; + shouldComponentUpdate(nextProps) { + return this.props.nick !== nextProps.nick; + } + + handleClick(event) { + event.preventDefault(); + this.props.onClick(); + } + + render() { + var url = "irc:///" + encodeURIComponent(this.props.nick) + ",isnick"; + return html` +
  • + ${this.props.nick} +
  • + `; + } } -export default function MemberList(props) { - return html` - - `; +export default class MemberList extends Component { + shouldComponentUpdate(nextProps) { + return this.props.members !== nextProps.members; + } + + render() { + return html` + + `; + } }