Question: I hope you can help me with this issue.

I have an Excel file with 146,459 rows and I need to delete blank cells to unify my data. Here is an image of what I mean:

[![Click here to see the image](https://i.stack.imgur.com/GgnhA.png)](https://i.stack.imgur.com/GgnhA.png)

When I select all blanks, my laptop takes around 2 minutes, but then when I try to delete the cells from one or more columns and shift up, Excel freezes and nothing happen. I already left my laptop for over 1 hours like that and I didn't have any results.

Do you know if there's a way to do it or if any alternatives can be implemented?

Thanks in advance!

Answer: 
I'm very new to React, however, I know that using arrow functions simplifies this work: 

```
import React from 'react';

class Input extends React.Component {

 handleInputChange = () => {
  // do something 
}
 render() {
   return(
     <div>
       <input onChange={this.handleInputChange} />
     </div>  
   )
 }

```

this way you don't need to bind the method in the constructor.

See more in this discussion: [Can you bind arrow functions?](https://stackoverflow.com/questions/33308121/can-you-bind-arrow-functions)
Yes. You can derive your class or component from AdvancedComponent:

```
import { Component } from 'react';

class AdvancedComponent extends Component {

    constructor(props) {
        super(props);

        AdvancedComponent.BindDirectPrototypeMethods(this);
    }    

    static BindDirectPrototypeMethods(obj) {
        const prot = Object.getPrototypeOf(obj);
        const methods = Object.getOwnPropertyNames(prot).filter(m => {
            return typeof prot[m] === 'function' && m !== 'constructor';
        });

        methods.forEach( m => {
            obj[m] = obj[m].bind(obj);
        })
    }
}

export default AdvancedComponent;

```

This will make `this` available in every method even in the context of other object.