【发布时间】:2021-10-20 23:32:05
【问题描述】:
这里是一个反应新手。 我正在尝试从 WordPress rest api 获取自定义帖子类型,并将帖子对象作为附加道具传递给内置的 Guide 组件。但是,没有数据被传递。我能够将帖子作为 data.js 中的对象数组获取,但不能将它们作为道具传递。请帮忙。我想我需要使用反应钩子来改变状态,但我不知道该怎么做。我不想使用 Classes、Redux 或 context api:
data.js
import useFetch from './helper';
import { Guide} from '@wordpress/components';
const DynamicGuide = (props) => {
const guides = useFetch('/wp-json/wp/v2/guides');
console.log(guides); //posts object is printed here
return (
<Guide {...props} guides={guides} />
);
}
export default DynamicGuide;
templates/guide.js
import { __ } from '@wordpress/i18n';
import DynamicGuide from './../data'
const WelcomeTourGuide = ( props ) => {
console.log(props); //posts object is missing here
return (
<DynamicGuide { ...props } pages={ [
{
image: <img src="https://s.w.org/images/block-editor/welcome-canvas.gif" />,
content: (
<div>
<h2 className="edit-post-welcome-guide__heading">{__('Welcome to the block editor')}</h2>,
<p className="edit-post-welcome-guide__text">{__('In the WordPress editor, each paragraph, image, or video is presented as a distinct “block” of content.')}</p>
</div>
)
},
] }
>
</DynamicGuide>
)
}
export default WelcomeTourGuide;
【问题讨论】:
-
你到底想要什么?
-
我在代码中没有看到您将道具传递给 WelcomeTourGuide 组件的任何地方
-
我想获取 data.js 中的所有帖子(设法做到这一点),然后能够将它们用作不同文件中的道具(不能这样做)。最值得注意的是,我需要它们在模板/guide.js 中。但是,当我执行 console.log 时,似乎由于某种原因缺少数据。
-
指南传递给 Guide 而不是 WelcomeTourGuide。在 WelcomeTourGuide 中 console.log 打印缺少的指南就可以了
标签: reactjs react-hooks react-props wordpress-rest-api