javascript - react 渲染/更新 Canvas

标签 javascript html reactjs canvas

我正在学习 React,我正在尝试从 React 渲染 Canvas ,并在每次状态更改时更新它。

//set initial state
constructor(props) {
    super(props);
    this.state = {
      imgFile: this.props.imgFile,
      show: false
    };
}

//The render canvas
render() {
    return (
      <div className="col-sm-4">
        <canvas ref={(c) => { this.myCanvas = c; }} />
      </div>
    );
  }

我的问题是:有没有办法通过 Prop 更新 Canvas ?到目前为止我得到了这个:

componentDidMount() {
    const origin = this.state.imgFile;
    // canvas area/img calculations
    this.funcForDrawCanvas(origin.path, origin.presition, origin.height, origin.width);
}

但是在组件被挂载之后就不再更新它了,你知道吗?或者有没有办法删除 Canvas 标签并在状态更改时再次放置它?

最佳答案

使用 componentWillReceiveProps 检测 props 的变化,然后使用它在 Canvas 上绘制。

关于javascript - react 渲染/更新 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39906792/

相关文章:

javascript - ReactJS混淆 'JS code as text'和真正的JS代码: Add javascript code as text in ReactJS div

javascript - 如何使用 React Native 在 Android 设备上打开 native 邮件(与 'Linking.openURL()' iOS 相同)

javascript - Express Js Firebase SignOut() 立即向客户端 Fetch Post 请求返回状态 200

javascript - 为什么在运行成功回调之前解决 promise ?

javascript - 输入类型编号应从带向上箭头的最小值和带向下箭头的最大值重新开始

css - 不确定如何为我的导航栏修复我的 css

javascript - 旧 IE 不动态更新 CSS

javascript - 如果一个函数更新状态而另一个函数紧接着访问该状态,是否会导致竞争条件?

javascript - ReactJS Component.render() 函数的适当返回类型是什么?

html - 如何使用 Bootstrap html 数据切换切换多个数据目标和切换