Skip to content

Commit 5bec3c8

Browse files
committed
Merge pull request #547 from justingreenberg/update-handler-bindings
refactor(containers): remove experimental bind syntax
2 parents d909298 + a0e73bf commit 5bec3c8

File tree

6 files changed

+27
-32
lines changed

6 files changed

+27
-32
lines changed

src/containers/About/About.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ import DocumentMeta from 'react-document-meta';
33
import { MiniInfoBar } from 'components';
44

55
export default class About extends Component {
6+
67
state = {
78
showKitten: false
89
}
910

10-
handleToggleKitten() {
11-
this.setState({showKitten: !this.state.showKitten});
12-
}
11+
handleToggleKitten = () => this.setState({showKitten: !this.state.showKitten});
1312

1413
render() {
1514
const {showKitten} = this.state;
@@ -40,7 +39,7 @@ export default class About extends Component {
4039

4140
<button className={'btn btn-' + (showKitten ? 'danger' : 'success')}
4241
style={{marginLeft: 50}}
43-
onClick={::this.handleToggleKitten}>
42+
onClick={this.handleToggleKitten}>
4443
{showKitten ? 'No! Take it away!' : 'Yes! Please!'}</button>
4544
</p>
4645

src/containers/App/App.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export default class App extends Component {
4848
}
4949
}
5050

51-
handleLogout(event) {
51+
handleLogout = (event) => {
5252
event.preventDefault();
5353
this.props.logout();
5454
}
@@ -89,7 +89,7 @@ export default class App extends Component {
8989
</LinkContainer>}
9090
{user &&
9191
<LinkContainer to="/logout">
92-
<NavItem eventKey={6} className="logout-link" onClick={::this.handleLogout}>
92+
<NavItem eventKey={6} className="logout-link" onClick={this.handleLogout}>
9393
Logout
9494
</NavItem>
9595
</LinkContainer>}

src/containers/Chat/Chat.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import {connect} from 'react-redux';
44
@connect(
55
state => ({user: state.auth.user})
66
)
7-
export default
8-
class Chat extends Component {
7+
export default class Chat extends Component {
8+
99
static propTypes = {
1010
user: PropTypes.object
1111
};
@@ -17,7 +17,7 @@ class Chat extends Component {
1717

1818
componentDidMount() {
1919
if (socket && !this.onMsgListener) {
20-
this.onMsgListener = socket.on('msg', this.onMessageReceived.bind(this));
20+
this.onMsgListener = socket.on('msg', this.onMessageReceived);
2121

2222
setTimeout(() => {
2323
socket.emit('history', {offset: 0, length: 100});
@@ -32,13 +32,13 @@ class Chat extends Component {
3232
}
3333
}
3434

35-
onMessageReceived(data) {
35+
onMessageReceived = (data) => {
3636
const messages = this.state.messages;
3737
messages.push(data);
3838
this.setState({messages});
3939
}
4040

41-
handleSubmit(event) {
41+
handleSubmit = (event) => {
4242
event.preventDefault();
4343

4444
const msg = this.state.message;
@@ -66,14 +66,14 @@ class Chat extends Component {
6666
return <li key={`chat.msg.${msg.id}`}>{msg.from}: {msg.text}</li>;
6767
})}
6868
</ul>
69-
<form className="login-form" onSubmit={this.handleSubmit.bind(this)}>
69+
<form className="login-form" onSubmit={this.handleSubmit}>
7070
<input type="text" ref="message" placeholder="Enter your message"
7171
value={this.state.message}
7272
onChange={(event) => {
7373
this.setState({message: event.target.value});
7474
}
7575
}/>
76-
<button className="btn" onClick={this.handleSubmit.bind(this)}>Send</button>
76+
<button className="btn" onClick={this.handleSubmit}>Send</button>
7777
</form>
7878
</div>
7979
}

src/containers/Login/Login.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default class Login extends Component {
1313
logout: PropTypes.func
1414
}
1515

16-
handleSubmit(event) {
16+
handleSubmit = (event) => {
1717
event.preventDefault();
1818
const input = this.refs.username;
1919
this.props.login(input.value);
@@ -29,9 +29,9 @@ export default class Login extends Component {
2929
<h1>Login</h1>
3030
{!user &&
3131
<div>
32-
<form className="login-form" onSubmit={::this.handleSubmit}>
32+
<form className="login-form" onSubmit={this.handleSubmit}>
3333
<input type="text" ref="username" placeholder="Enter a username"/>
34-
<button className="btn btn-success" onClick={::this.handleSubmit}><i className="fa fa-sign-in"/>{' '}Log In
34+
<button className="btn btn-success" onClick={this.handleSubmit}><i className="fa fa-sign-in"/>{' '}Log In
3535
</button>
3636
</form>
3737
<p>This will "log you in" as this user, storing the username in the session of the API server.</p>

src/containers/Survey/Survey.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ export default class Survey extends Component {
1212
initialize: PropTypes.func.isRequired
1313
}
1414

15-
handleSubmit(data) {
15+
handleSubmit = (data) => {
1616
window.alert('Data submitted! ' + JSON.stringify(data));
1717
this.props.initialize('survey', {});
1818
}
1919

20-
handleInitialize() {
20+
handleInitialize = () => {
2121
this.props.initialize('survey', {
2222
name: 'Little Bobby Tables',
2323
@@ -60,15 +60,15 @@ export default class Survey extends Component {
6060
</p>
6161

6262
<div style={{textAlign: 'center', margin: 15}}>
63-
<button className="btn btn-primary" onClick={::this.handleInitialize}>
63+
<button className="btn btn-primary" onClick={this.handleInitialize}>
6464
<i className="fa fa-pencil"/> Initialize Form
6565
</button>
6666
</div>
6767

6868
<p>The circles to the left of the inputs correspond to flags provided by <code>redux-form</code>:
6969
Touched, Visited, Active, and Dirty.</p>
7070

71-
<SurveyForm onSubmit={::this.handleSubmit}/>
71+
<SurveyForm onSubmit={this.handleSubmit}/>
7272
</div>
7373
);
7474
}

src/containers/Widgets/Widgets.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ function fetchDataDeferred(getState, dispatch) {
2222
loading: state.widgets.loading
2323
}),
2424
{...widgetActions, initializeWithKey })
25-
export default
26-
class Widgets extends Component {
25+
export default class Widgets extends Component {
2726
static propTypes = {
2827
widgets: PropTypes.array,
2928
error: PropTypes.string,
@@ -34,14 +33,11 @@ class Widgets extends Component {
3433
editStart: PropTypes.func.isRequired
3534
}
3635

37-
handleEdit(widget) {
38-
const {editStart} = this.props; // eslint-disable-line no-shadow
39-
return () => {
40-
editStart(String(widget.id));
41-
};
42-
}
43-
4436
render() {
37+
const handleEdit = (widget) => {
38+
const {editStart} = this.props; // eslint-disable-line no-shadow
39+
return () => editStart(String(widget.id));
40+
};
4541
const {widgets, error, editing, loading, load} = this.props;
4642
let refreshClassName = 'fa fa-refresh';
4743
if (loading) {
@@ -52,8 +48,8 @@ class Widgets extends Component {
5248
<div className={styles.widgets + ' container'}>
5349
<h1>
5450
Widgets
55-
<button className={styles.refreshBtn + ' btn btn-success'} onClick={load}><i
56-
className={refreshClassName}/> {' '} Reload Widgets
51+
<button className={styles.refreshBtn + ' btn btn-success'} onClick={load}>
52+
<i className={refreshClassName}/> {' '} Reload Widgets
5753
</button>
5854
</h1>
5955
<DocumentMeta title="React Redux Example: Widgets"/>
@@ -93,7 +89,7 @@ class Widgets extends Component {
9389
<td className={styles.sprocketsCol}>{widget.sprocketCount}</td>
9490
<td className={styles.ownerCol}>{widget.owner}</td>
9591
<td className={styles.buttonCol}>
96-
<button className="btn btn-primary" onClick={::this.handleEdit(widget)}>
92+
<button className="btn btn-primary" onClick={handleEdit(widget)}>
9793
<i className="fa fa-pencil"/> Edit
9894
</button>
9995
</td>

0 commit comments

Comments
 (0)