javascript - 自动映射 React 组件的 Prop

标签 javascript reactjs ecmascript-6

想象一个组件:

class MyComponent extends Component {
    render = () => <div>value: {this.props.x}</div>        
}

和一个方法:

const transform = x => x + 1;

是否可以在组件中自动应用transform方法,并且只在组件中应用一次,而无需从父级调用它?


例如,如果我称它为

<MyComponent x={1}/>

他展示

<div>value: 2</div>

可是我不想写

render = () => <div>value: {transform(this.props.x)}</div>

因为这意味着我每次访问 x 时都必须调用 transform

最佳答案

好吧,我自己找到了一个方法!

class MyComponent extends Component {
    render = () => <div>value: {this.props.x}</div>        
}

const mapProps = Component => props => <Component x={transform(props.x)}/>

export default mapProps(MyComponent);

关于javascript - 自动映射 React 组件的 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48306482/

相关文章:

javascript - webpack:具有多个文件类型输出的多个输入

javascript - 如何以动态形式应用动态蒙版?

javascript - 更新动态文本框中的现有值时在数组中创建新条目

reactjs - React Helmet 不更新元标题标签

javascript - React Beautiful DND 无法为函数组件提供 refs

javascript - 巴别塔 : The CLI has been moved into the package `babel-cli`

javascript - 运行时显示每个测试的状态

javascript - 如何将 javascript 变量传递给 laravel 路由?

javascript - 使用模态弹出窗口附加表 tr

reactjs - Webflux 文件上传 Minio