React state更新第三方库未重新渲染

我需要将js定义的一些style传到一个第三方库里,但是貌似state更新后并没有重新渲染样式,我确定组件是更新了,但是这个第三方库传进去的样式未更新,有人帮忙解决下吗?

代码如下

class Console extends React.Component {

  getConsoleFeedStyle(theme) {
    const style = {};
    switch (theme) {
      case 'light':
        return Object.assign(style, a);
      case 'dark':
        return Object.assign(style, b);
      case 'contrast':
        return Object.assign(style, c);
      default:
        return '';
    }
  }


render() {
    return (
        <div>
          {this.props.consoleEvents.map((consoleEvent) => {
            const { theme } = this.props;
            return (
              <div key={consoleEvent.id}>
                <ConsoleFeed
                  styles={this.getConsoleFeedStyle(theme)}
                  logs={Array.of(consoleEvent)}
                />
              </div>
            );
          })}
        </div>
      </div>
    );
  }
}
阅读 2.7k
3 个回答

这个是个组件,又不是div。。。
你style传过去,他组件里又不用,你传过去有什么用

在getConsoleStyle函数和render函数里加入console,并在getConsoleStyle函数里console参数,看运行逻辑是否和你期望的一致

先在 getConsoleFeedStyle 里面debug看看运行了没,在看看 a,b,c的key是否是正确的样式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题