这是我的设置:
someKey=This is my <span class="hello">{0}</span> string!
import stringAPI from 'string-file';
class MyComponent extends Component {
get content() {
return { __html: stringAPI.someKey(this.props.word) };
}
render() {
return (
<span dangerouslySetInnerHTML={this.content} />
);
}
}
stringAPI.someKey
的参数替换字符串文件中的{0}
,然后返回最终的html字符串。我的问题是this.props.word
正在更新MyComponent
没有更新。
我在某处读到危险的SetInnerHTML告诉React它不需要观察html所呈现的组件的状态。如果这是真的,那么我仍然需要一种方法来做我正在尝试做的事情。
答案 0 :(得分:0)
将字符串设置为state。收到新道具(componentWillReceiveProps
)时,请执行setState
。这应该重新渲染组件。如果不起作用,请确保在字符串更改时设置唯一键。这也迫使重新出现