【发布时间】:2019-04-18 22:51:11
【问题描述】:
我不明白为什么我能够毫无问题地渲染状态变量的值,但是当我将它作为道具传递给子组件时,值变得未定义。
以下截断源代码:
this.state.pdf 使用下面的代码 sn-p 正确呈现 url。
render() {
return (
....
<div>
<label>PDF:</label>
<textarea rows="4" cols="100" name="pdf" value={this.state.pdf} onChange={this.onChange} placeholder="PDF URL" />
</div>
....
...稍后在渲染函数中,我将相同的状态变量传递给另一个组件以渲染实际的 PDF。
<div>
<MammaPDF pdf={this.state.pdf} />
</div>
MammaPDF 类 sn-p:
class MammaPDF extends Component {
constructor(props) {
super(props);
this.state = {
numPages: null,
pageNumber: 1,
pdf: null,
}
}
componentDidMount(){
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;
console.log("MammaPDF PROPS: ",this.props); <--- pdf is undefined
const pdf = this.props.pdf; <---pdf is undefined
....
}
【问题讨论】:
标签: reactjs