如何在React上创建抽象状态值

问题描述 投票:0回答:1

我想对映射的组件做出反应时使用抽象的默认状态值。逻辑是这样的1.参数的json2.将json参数映射到对象3.根据item.value

设置对象的默认值

不知道如何做数字3

这里是代码,

    function parameterItem(item) {
        if(item.type === 'date') {
            return <Input type="date" name={ item.name } defaultValue={this.state.[item.value]} id={ item.name} form="form-filter" />
        }
    }

    if(this.props.filter) {
        parameters = this.props.filter.map((item, id) => {
            if (Object.keys(item).length > 0) {
                return <Col xs='12' key={id} hidden={ !item.visible }>
                    <Row className="form-spacing-top">
                        <Col xs='3'>
                            <p>{ item.caption }</p>
                        </Col>
                        <Col xs='9'>
                            { parameterItem(item) }
                        </Col>
                    </Row>
                </Col>
            } else return null
        });
    }
reactjs state abstract
1个回答
0
投票

您的意思是说您在某个文件的某处具有这样的映射:

mapping_constants.js:

default_value_mappings = {
    "value1": "Some Value1", 
    ...
    ...
    "valueN":"Some Value N"
}


可以映射为:

componentDidMount(){
    this.setState({"defaults":default_value_mappings})

}
function parameterItem(item) {
    if(item.type === 'date') {
            return <Input type="date" name={ item.name } defaultValue={this.state.defaults[item.value]} id={ item.name} form="form-filter" />
    }
}

我问对了吗?

© www.soinside.com 2019 - 2024. All rights reserved.