create-component-app icon indicating copy to clipboard operation
create-component-app copied to clipboard

Proposal: componentMethods option - unintuitive behavior

Open vemv opened this issue 7 years ago • 2 comments

Hi again!

I tried setting "componentMethods": ["render"], in my .ccarc.

This results in the following:

class template extends Component {
    constructor(props) {
        super(props)
    }
    
    render(){}

    render() {
        return (
            <div className="template"></div>
        );
    }
}

I see two issues here:

  • duplicate render method
  • I didn't specify constructor. Intuition would tell me that for a ["render"] option, that method shouldn't be emitted. It could be emitted for [] (i.e. by default), and for ["constructor", "shouldComponentUpdate"] (i.e. if explicitly specified).

Cheers - Victor

vemv avatar Feb 11 '18 23:02 vemv

Hi @vemv

Before all, thanks for your support and alert 👍

Anyway, the componentMethods as you can see isn't exclusive and add extra methods to the component (and doesn't check if exist or not one method inside the list). For now, I can propose a PR where I can change the documentation that explicit these. And for the future, we can think which is the best behaviour for that option.

What do you think? 😃

CVarisco avatar Feb 12 '18 08:02 CVarisco

Currently, I'm working on the v2 and I can consider changing that option to accept every method to include in the components. Thank you for your proposal and help 👍

CVarisco avatar Mar 09 '18 09:03 CVarisco