chobo2 chobo2 - 1 year ago 66
Javascript Question

I broke .Bind() in Javascript/ReactJs. Not sure how to Fix

import React from 'react';

import 'materialize-css/sass/materialize.scss';
import 'materialize-css/js/materialize.js';
import 'font-awesome/scss/font-awesome.scss';
import '../styles/main.scss';

export default class AddStorageModal extends React.Component {
constructor() {
this.state = { storageName: "", sharingKey: "" };
handleChange(event) {
this.setState({ []: });
validate() {
if (this.state.storageName === "" && this.state.sharingKey == "") {
console.log("validation error");
return false;
resetForm() {
this.setState({ storageName: "", sharingKey: "" });
$(function () {
render() {
if (this.props.storages.openAddStorageModal) {
$('#add-new-storage-modal').openModal({ dismissible: false });
else {
return (
<div id="add-new-storage-modal" className="modal" >
<div className="modal-content">
<h6>Enter your new Storage (Freezer, Pantry, etc.) </h6>
<div className="row">
<div className="input-field col s12 m12 l12 ">
<input id="storage_name" type="text" value={this.state.storageName} name="storageName" onChange={ (event) => this.handleChange(event) } />
<label htmlFor="storage_name">Storage Name</label>
<br />
<h4 className="center">OR</h4>
<h6>Enter in the sharing key you were given.</h6>
<div className="input-field col s12 m12 l12 ">
<input id="sharing_key" type="text" value={this.state.sharingKey} name="sharingKey" onChange={ (event) => this.handleChange(event) } />
<label htmlFor="sharing_key">Sharking Key</label>
<div className="modal-footer">
<a href="#!" className="waves-effect waves-green btn-flat left" onClick={() => this.validate() }>Add</a>
<a href="#!" className="waves-effect waves-green btn-flat" onClick={() => this.props.loadAddStorageModal(false) }>Cancel</a>

When "this.resetForm.bind(this);" gets hit, it does not execute it. It use to work but I don't know what I did but now it does not work.

I going to have to work backwards and remove what I did to see if I can figure it out but hoping someone might just know why.

Answer Source

That line doesn't do anything anyway. Function.prototype.bind returns a new function, but you're not doing anything with the returned function.

You'll have to be more clear about what you expect that line to do to get a better answer than this. Maybe you just meant to call resetForm like this:

this.resetForm( );
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download