Javascript Immutable.toJS操作是否会导致render React中出现性能问题?

Javascript Immutable.toJS操作是否会导致render React中出现性能问题?,javascript,reactjs,immutable.js,Javascript,Reactjs,Immutable.js,我正在尝试将Immutable.js实现到React组件中(不是在Redux中,而是在组件状态中) 我想处理一个不可变的数据,但为了正常渲染,我应该将它转换成一个简单的js类型的数据 所以,如果我使用下面要展示的技巧:如果在每次渲染迭代中转换状态,是否会导致性能问题? 谢谢你提供的任何信息 export default class StepOneComponent extends React.Component { constructor(props) { super(props);

我正在尝试将Immutable.js实现到React组件中(不是在Redux中,而是在组件状态中)

我想处理一个不可变的数据,但为了正常渲染,我应该将它转换成一个简单的js类型的数据

所以,如果我使用下面要展示的技巧:如果在每次渲染迭代中转换状态,是否会导致性能问题? 谢谢你提供的任何信息

export default class StepOneComponent extends React.Component {

constructor(props) {
    super(props);


    /**
     * state description
     * @property { object }  userSignUpFormData  -> a userSignUp data
     * @property { string }  userSignUpForm.emailValue
     * @property { string | number }  userSignUpForm.passValue
     */

    this.state = {
     immData : ImmMap({
               userSignUpFormData : ImmMap({
                emailValue : "",
                passValue : ""
               })
           });
        }
    }

...........

render() {
        const data = this.state.immData.toJS();

return (

            <h1>{ data.userSignUpFormData.emailValue }</h1>
...........
导出默认类StepOneComponent扩展React.Component{
建造师(道具){
超级(道具);
/**
*状态描述
*@property{object}userSignUpFormData->a usersignupdata
*@property{string}userSignUpForm.emailValue
*@property{string | number}userSignUpForm.passValue
*/
此.state={
immData:ImmMap({
userSignUpFormData:ImmMap({
emailValue:“”,
passValue:“
})
});
}
}
...........
render(){
const data=this.state.immData.toJS();
返回(
{data.userSignUpFormData.emailValue}
...........

.toJS
非常昂贵,您不必使用它。返回
{data.getIn(['userSignUpFormData','emailValue'])}
和类似内容。此外,在shouldComponentUpdate中包含一个浅层比较,以避免不必要的重新呈现–这是使用Immutablejs及其结构化数据共享的主要原因。:)非常感谢!
.toJS
非常昂贵,您不必使用它。Return
{data.getIn(['userSignUpFormData','emailValue'])
和类似内容。此外,在shouldComponentUpdate中包含一个浅层比较,以避免不必要的重新渲染–这是使用Immutablejs及其结构化数据共享的主要原因。:)非常感谢!