我正在尝试构建我的库并像 MaterialUI 那样导出组件:

但是,我唯一能做的就是:

我使用 rollup.js 和 typescript。我注意到 d.ts 和 type.ts 文件已导出到组件文件夹中,但组件本身导出到主文件夹中。
有人可以帮我修复它吗?
我的 rollup.js 配置:
import commonjs from '@rollup/plugin-commonjs'
import resolve from '@rollup/plugin-node-resolve'
import replace from '@rollup/plugin-replace'
import peerDepsExternal from 'rollup-plugin-peer-deps-external'
import typescript from 'rollup-plugin-typescript2'
import postcss from 'rollup-plugin-postcss'
import { terser } from 'rollup-plugin-terser'
import del from 'rollup-plugin-delete'
import includePaths from 'rollup-plugin-includepaths'
/* css imports */
import pkg from './package.json'
export default {
input: ['./src/index.ts', './src/TestComponent/index.tsx'],
output: [
{
dir: 'dist/esm',
format: 'esm',
sourcemap: true,
exports: 'named',
strict: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 params 传递到一个新屏幕,并像这里提到的那样实现它。
我有以下TouchableOpacity按钮。
<TouchableOpacity
onPress={() => {
this.props.navigation.navigate('SomeScreen', {
title: 'Title',
subTitle: 'Subtitle',
});
}}
>
Run Code Online (Sandbox Code Playgroud)
在另一个页面上(我们称之为 Somescreen),我有以下内容:
render() {
const { navigation } = this.props;
const title = navigation.getParam('title');
}
Run Code Online (Sandbox Code Playgroud)
但title以上是未定义的:
{ params: undefined, routeName: "Somescreen", key: "id-xx" }
Run Code Online (Sandbox Code Playgroud)
我的根堆栈:
const RootStack = createStackNavigator({
SomescreenA: { screen: SomescreenA },
SomescreenB: { screen: SomescreenB },
}, { headerMode: 'none' });
Run Code Online (Sandbox Code Playgroud)
为什么我的参数在新屏幕中未定义?