2 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
我通過將代碼從裝飾器移動到故事本身中解決了我的問題。顯然,從長遠來看,這并不理想。
export default {
title: 'MyLovelyComponent',
Component: MyLovelyComponent
}
const UsingReduxComponent = () => {
const dispatch = useDispatch();
useEffect(() => {
dispatch(updateMyData(myData)); // actionCreator for updating state
dispatch(updateLovelyData(lovelyData));
}, []);
return (<MyLovelyComponent />);
}
export const UsingRedux = () => (
<ProviderWrapper>
<UsingReduxComponent />
</ProviderWrapper>
)

TA貢獻1875條經(jīng)驗 獲得超5個贊
您還必須在提供程序和包裝器中傳遞存儲。
import { Provider } from 'react-redux';
import { configureStore } from '../redux/configureStore';
const store = configureStore();
const ProviderWrapper = ({ children, store }) => (
<Provider store={store}>
{children}
</Provider>
);
export const withProvider = (story) => (
<ProviderWrapper store={store}>
{story()}
</ProviderWrapper>
)
// in config.js file
import { withProvider } from './Provider.js';
addDecorator(withProvider);
添加回答
舉報