FCC Markdown Previewer项目负载测试失败



我正试图通过一个Freecodecamp项目。该项目是一个标记预览器,您可以在文本区域输入代码,并将其呈现在网页上。除了两次外,我所有的考试都通过了。它本应该在加载时预览文本,但它重新发送了,我不知道为什么。有人能看一眼,告诉我我做错了什么吗。我将有一个链接到我的CodePen。我有两个解决方案无法通过相同的测试。一个带有react钩子,另一个带有类组件。我正在使用标记的html解析器。谢谢

我几乎确信它与文本区域的组件有关,因为这是失败的测试之一,但我可以发现它有任何问题。

这是文本编辑器组件:

const Editor = ({ text, setText }) => {
return (
<>
<textarea id='editor' value={ text } onChange={ (e) => setText(e.target.value) } />
</>
);
};

这是一个状态,占位符是一个html:字符串

const [ text, setText ] = React.useState(placeholder);

CodePenLink

您的placeholder中有html,而不是markdown。您可以尝试使用类似的东西作为placeholder,它应该可以在中工作


const placeholder = `
# Sample Markdown Header Level
## Sample Header Level 2
### Link
Here's a link to [Codepen](https://codepen.io).
### Code Block
1.  Open the file.
2.  Find the following code block on line 21:
<html>
<head>
<title>Test</title>
</head>
3.  Update the title to match the name of your website.
### Inline Code
I think you should use an `<addr>` element here instead.
### List
- First item
- Second item
### Blockquote
> Dorothy followed her through many of the beautiful rooms in her castle.
### Image
![Markdown Logo](https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Markdown-mark.svg/208px-Markdown-mark.svg.png "Markdown Logo")
### Bold Text
I just love **bold text**.
`;

我想分享我的类似经历,从一个稍微不同的角度来看。我在默认状态下直接包含了我的"占位符"标记默认文本。显然,根据ChatGPT:

"当您将默认的Markdown文本直接放在背景标记之间时在默认状态下,它变为模板文字(一种特殊语法在JavaScript中用于创建具有嵌入表达式的字符串(。作为结果,标记的`库,这会导致FreeCodeCamp测试失败。

通过将默认的Markdown文本放在一个单独的常量中,然后引用状态中的该常量,可以确保文本被视为常规字符串,并且可以正确处理通过标记的库,按预期通过测试">

通过查看之前的答案和此处发布的更正代码笔,我能够解决我的问题。

相关内容

  • 没有找到相关文章

最新更新