想问一下关于动态生成标签的问题……

#1

以前用jq写,动态生成标签都是直接用字符串保存的……现在用同样的方法,结果直接返回纯文本了……
所以怎么把这个文本放在相应的位置显示正确的内容而不是文本呢……

模块的代码是这样的

class CommitRadio extends React.Component {
    state = {
        value: 1,
    }

    onChange = (e) => {
        console.log('radio checked', e.target.value);
        this.setState({
            value: e.target.value,
        });
    }

    render() {
        const radioStyle = {
            display: 'block',
            height: '30px',
            lineHeight: '30px',
        };
        
        return (
            <RadioGroup onChange={this.onChange} value={this.state.value}>
                {this.props.text}
                {/*<Radio style={radioStyle} value={1}>Commit 1</Radio>*/}
                {/*<Radio style={radioStyle} value={2}>Commit 2</Radio>*/}
                {/*<Radio style={radioStyle} value={3}>Commit 3</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
                {/*<Radio style={radioStyle} value={4}>Commit 4</Radio>*/}
            </RadioGroup>
        );
    }
}

{this.props.text}这个位置是我动态生成的字符串,显示的时候是字符串本身而不是单选框……不知道该怎么弄……

#2

dangerouslySetInnerHTML

              <span
                className="c-tooltip"
                dangerouslySetInnerHTML={{__html: this.props.text}}
              />
#4

这个好像对非html标签无效啊

#5

如果是自定义组件,就有点不好弄了。因为你保存的是jsx语法的标签,reactjs是解析不了jsx的。如果数据就是一个数组的Radio,可以尝试把value与Commit 1这些数据匹配出来,生成数组,再遍历生成Radio

<Radio style={radioStyle} value={3}>Commit 3</Radio>