react单页面开发向新窗口传数据

前言:‘_blank’打开新窗口页面,state算内存传值,用<Link to={{pathname: url, state: data}}></Link>或者this.props.match.history.push(urlName, state)都失效

解决办法:

1:window.postMessage()

a.html

const newWindow = window.open(`b.html`, '_blank')
newWindow.onload = () => newWindow.postMessage(data, window.origin)

b.html:

  componentDidMount() {
    window.addEventListener('message', (event) => {
      console.log('我收到数据了!', event, event.data)
    }, false)
  }i

待更新。。。。。

注: 刷新页面都失效,如果数据太多看来只能在url带上id请求后台数据或者storage