代码之家  ›  专栏  ›  技术社区  ›  Gezim Tarang

`edit()`返回模态抛出异常

  •  0
  • Gezim Tarang  · 技术社区  · 7 年前

    我有一个简单的按钮用来启动 straight from the Modal example :

    edit: withState( {
            isOpen: false,
        } )( ( { isOpen, setState } ) => (
            <div>
                <Button isDefault onClick={ () => setState( { isOpen: true } ) }>Open Modal</Button>
                { isOpen ?
                    <Modal
                        title="This is my modal"
                        onRequestClose={ () => setState( { isOpen: false } ) }>
                        <Button isDefault onClick={ () => setState( { isOpen: false } ) }>
                            My custom close button
                        </Button>
                    </Modal>
                    : null }
            </div>
        ) ),
    

    但是,它抛出了一个异常:

    (用于内置组件)或类/函数(用于组合 但得到:未定义。你可能忘了出口 它在文件中定义的组件,或者您可能混淆了 默认和命名导入。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Gezim Tarang    7 年前

    我犯的错误是假设 Modal 存在于 editor . 我有这个:

    const {Button, Modal} = editor;
    

    将导入更正为以下内容,修复了此问题:

    const {Button, Modal} = wp.components;
    

    在后端,当您注册组件时,您将希望 wp-components

    wp_register_script(
        'recipe-block',
        ZRDN_PLUGIN_DIRECTORY_URL . $relativeScriptPath, // File.
        array( 'wp-components','wp-blocks', 'wp-i18n', 'wp-compose', 'wp-editor', 'wp-data','wp-element', 'underscore' ), // Dependencies.
        filemtime( ZRDN_PLUGIN_DIRECTORY . $relativeScriptPath ) // filemtime — Gets file modification time.
    );
    
    推荐文章